Trying to connect to SQL2005 with JDBC from Tomcat 5.5

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



I am extremely new to all this. I have just built a MSSQL 2005 server on my
lap top and want to make a simple JSP to pull from the database. I used a
sample that came with MYSQL and everything works. I need to get this to work
with MSSQL now. Does anyone have a basic setup to test with.

Here is what I have and the Errors.

Note: DBTest is mysql test
DBTest2 is mssql test

Where I got the test:

http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html

TEST URL = http://localhost:8080/DBTest2/test.jsp

org.apache.jasper.JasperException: Unable to get connection, DataSource
invalid: "org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create
PoolableConnectionFactory (Login failed for user 'javauser'.)"
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)



Added to SERVER.XML

<Context path="/DBTest2" docBase="DBTest2"
debug="5" reloadable="true" crossContext="true">

<!-- maxActive: Maximum number of dB connections in pool. Make sure you
configure your mysqld max_connections large enough to handle
all of your db connections. Set to 0 for no limit.
-->

<!-- maxIdle: Maximum number of idle dB connections to retain in pool.
Set to -1 for no limit. See also the DBCP documentation on this
and the minEvictableIdleTimeMillis configuration parameter.
-->

<!-- maxWait: Maximum time to wait for a dB connection to become
available
in ms, in this example 10 seconds. An Exception is thrown if
this timeout is exceeded. Set to -1 to wait indefinitely.
-->

<!-- username and password: MySQL dB username and password for dB
connections -->

<!-- driverClassName: Class name for the old mm.mysql JDBC driver is
org.gjt.mm.mysql.Driver - we recommend using Connector/J though.
Class name for the official MySQL Connector/J driver is
com.mysql.jdbc.Driver.
-->

<!-- url: The JDBC connection url for connecting to your MySQL dB.
The autoReconnect=true argument to the url makes sure that the
mm.mysql JDBC Driver will automatically reconnect if mysqld closed
the
connection. mysqld by default closes idle connections after 8
hours.
-->


<Resource name="jdbc/TestDB2" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="javauser" password="javadude"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1434;databaseName=javatest;"/>
</Context>

Here is the WEB.XML

<web-app xmlns="http://java.sun.com/xml/ns/j2ee";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd";
version="2.4">
<description>MySQL Test App2</description>
<resource-ref>
<description>DB Connection2</description>
<res-ref-name>jdbc/TestDB2</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>


Here is the Test.jsp

<%@ taglib uri="http://java.sun.com/jsp/jstl/sql"; prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core"; prefix="c" %>

<sql:query var="rs" dataSource="jdbc/TestDB2">
select id, foo, bar FROM [javatest].[dbo].[testdata]

</sql:query>

<html>
<head>
<title>DB Test</title>
</head>
<body>

<h2>Results</h2>

<c:forEach var="row" items="${rs.rows}">
Foo ${row.foo}<br/>
Bar ${row.bar}<br/>
</c:forEach>

</body>
</html>



.



Relevant Pages

  • Re: [luca.ercoli@inwind.it: DoS against mysqld]
    ... > this is a DoS against yourself! ... > Only connections coming from the offending IP address are blocked, ... have to connect to mysqld on localhost. ... can spawn too many MySQL processes, so you need to choose a value ...
    (Bugtraq)
  • Re: Experiences with mysql_pconnect?
    ... talk to a MySQL 5.0.45 DB on an Apache 1.3 series server. ... dangling connections to the server at the php.net site. ... especially when the server is remote as it requires multiple calls to MySQL. ... queries that you execute on a regular basis, preparing it and then ...
    (comp.lang.php)
  • Re: Experiences with mysql_pconnect?
    ... talk to a MySQL 5.0.45 DB on an Apache 1.3 series server. ... dangling connections to the server at the php.net site. ... > Using prepared statements will probably speed up your app a lot. ... especially when the server is remote as it requires multiple calls to MySQL. ...
    (comp.lang.php)
  • Re: Reducing load for LAMP app?
    ... MySQL: as much as possible, he keeps query results in RAM, but ... His hoster says that Apache server is under significant load. ... Using apc is pretty much transparent, but memcached will require modifying your database abstraction layer using the memcached functions. ... With persistent connections, you must have the maximum number of connections *ever* required allocated *all of the time* - even if no one is using your server. ...
    (comp.lang.php)
  • Re: [PHP-DEV] [PHP4] Logging native PHP function calls
    ... X (number of mysql usernames) ... If you really have 150 MaxClients in httpd.conf and 140 mysql ... 15,600 mysql connections is a LOT of connections, and will take a LOT ... I've never tried to run a server with 140 mysql usernames, ...
    (php.general)