You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Alexey Tyurin <al...@mail.ru> on 2003/04/04 05:06:56 UTC
DataSource in Tomcat for MS SQL server
I configured my Tomcat server (4.1.24, jdk1.3.1_02/j2sdk1.4.0_01, Win2000 Professional)
as it was described in section "MySQL DBCP Example" of jndi-datasource-examples-howto.html
file from Tomcat documentation. Everything works. Then I repeated the same with JDBC driver
for MS SQL server. I got it from Microsoft site. When I used:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://alext:1433;DatabaseName=pubs;User=alext;Password=java");
I got data from my MS SQL server without any problems.
When I repeated my configuration used for MySQL with MS SQL server I got next message:
org.apache.jasper.JasperException: Name jdbc is not bound in this Context
and many other string...
When I looked at log file I saw next:
2003-04-03 18:14:23 NamingContextListener[/Standalone/localhost]: Resource parameters for jdbc/PubsDb = ResourceParams[name=jdbc/PubsDb, parameters={factory=org.apache.commons.dbcp.BasicDataSourceFactory, maxWait=10000, maxActive=100, url=jdbc:microsoft:sqlserver://alext:1433, password=java, driverClassName=com.microsoft.jdbc.sqlserver.SQLServerDriver, maxIdle=30, username=alext}]
2003-04-03 18:14:23 NamingContextListener[/Standalone/localhost]: Adding resource ref jdbc/PubsDb
2003-04-03 18:14:23 NamingContextListener[/Standalone/localhost]: ResourceRef[className=javax.sql.DataSource,factoryClassLocation=null,factoryClassName=org.apache.naming.factory.ResourceFactory,{type=scope,content=Shareable},{type=auth,content=Container},{type=factory,content=org.apache.commons.dbcp.BasicDataSourceFactory},{type=maxWait,content=10000},{type=maxActive,content=100},{type=url,content=jdbc:microsoft:sqlserver://alext:1433},{type=password,content=java},{type=driverClassName,content=com.microsoft.jdbc.sqlserver.SQLServerDriver},{type=maxIdle,content=30},{type=username,content=alext}]
2003-04-03 18:14:23 NamingContextListener[/Standalone/localhost]: Resource parameters for jdbc/TestDB = ResourceParams[name=jdbc/TestDB, parameters={factory=org.apache.commons.dbcp.BasicDataSourceFactory, url=jdbc:mysql://localhost/bookstore?autoReconnect=true, password=mysql, maxWait=10000, maxActive=100, driverClassName=org.gjt.mm.mysql.Driver, username=mysql, maxIdle=30}]
2003-04-03 18:14:23 NamingContextListener[/Standalone/localhost]: Adding resource ref jdbc/TestDB
2003-04-03 18:14:23 NamingContextListener[/Standalone/localhost]: ResourceRef[className=javax.sql.DataSource,factoryClassLocation=null,factoryClassName=org.apache.naming.factory.ResourceFactory,{type=scope,content=Shareable},{type=auth,content=Container},{type=factory,content=org.apache.commons.dbcp.BasicDataSourceFactory},{type=url,content=jdbc:mysql://localhost/bookstore?autoReconnect=true},{type=password,content=mysql},{type=maxWait,content=10000},{type=maxActive,content=100},{type=driverClassName,content=org.gjt.mm.mysql.Driver},{type=username,content=mysql},{type=maxIdle,content=30}]
2003-04-03 18:14:23 NamingContextListener[/Standalone/localhost]: Resource parameters for UserTransaction = null
So as I understand JNDI resource jdbc/PubsDb is bound for my context (I used ROOT context).
Is any solution to use DataSource in Tomcat for MS SQL server?
Alex.