Nope, I don't believe after check my server.xml that the below is the problem. > I had that error too and just reproduced it again to be sure of how I > resolved it. > > Let's say the following is a correct entry in server.xml: > > <Context path="/DBTest" docBase="DBTest" > debug="5" reloadable="true" crossContext="true"> > > but I make a mistake and use > > <Context path="/dBTest" docBase="DBTest" > debug="5" reloadable="true" crossContext="true"> > > **Notice the D vs d in the context path** > > Then I get a Cannot load JDBC driver class 'null' error message > > With the root context, where I had my problem, it was confusing because > I needed path="/root" and not path="/". Also, the error message is > seemingly unrelated to the actual problem > > Anyway, whether or not this is the origin of your error I do not know, > but only know that I got the same message when my context path was > incorrect. > > Shawn > > > > On Sat, 2003-01-11 at 05:21, Daren R. Sefcik wrote: >> Yes I have..I have been trying for the last week >> to figure it out. I have found the same thing that >> BasicDataSource does not load the driverClassName. >> I have put my jdbcdriver.jar file in the common/lib >> dir..and I know it's in the classpath of tomcat as I >> can write a jsp page with a Class.forName and have >> it work fine.The problem only surfaces when doing >> jndi Datasource lookups. The driverClassName from >> the server.xml file is never passed to BasicDataSource. >> >> If anyone can spot errors in my configuration please >> let me know, thanks.. >> >> >> I know that the server.mxl is being read from my logs: >> >> 2003-01-10 11:22:29 NamingContextListener[/Apache/localhost/intranet]: >> Creating JNDI naming context 2003-01-10 11:22:29 >> NamingContextListener[/Apache/localhost/intranet]: Resource >> parameters for jdbc/TestDB = ResourceParams[name=jdbc/TestDB, >> parameters={factory=org.apache.commons.dbcp.BasicDataSourceFactory, >> password=user, url=jdbc:jtds:sqlserver://ns1:1433/WebDB, >> driverClassName=net.sourceforge.jtds.jdbcx.TdsDataSource, >> username=webuser}] 2003-01-10 11:22:29 >> NamingContextListener[/Apache/localhost/intranet]: Adding resource >> ref jdbc/TestDB 2003-01-10 11:22:29 >> NamingContextListener[/Apache/localhost/intranet]: >> >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=password,content=user},{type=url,content=jdbc:jtds:sqlserver://ns1:1433/WebDB},{type=driverClassName,content=net.sourceforge.jtds.jdbcx.TdsDataSource},{type=username,content=webuser}] >> >> Here is the error from catalina.out: >> >> new context >> ctx lookup >> gonna try a ds.getConnection >> java.sql.SQLException: Cannot load JDBC driver class 'null' >> at >> org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:529) >> at >> org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:312) >> at foo.DBTest.init(DBTest.java:34) >> at org.apache.jsp.test_jsp._jspService(test_jsp.java:49) >> >> >> Here is my server.xml: >> >> <Server port="8005" shutdown="SHUTDOWN" debug="0"> >> >> <GlobalNamingResources> >> <Environment name="simpleValue" type="java.lang.Integer" >> value="30"/> >> </GlobalNamingResources> >> >> <Service name="Tomcat-Apache"> >> >> <Connector >> className="org.apache.catalina.connector.warp.WarpConnector" >> port="8008" minProcessors="5" maxProcessors="75" >> enableLookups="true" appBase="webapps" >> acceptCount="10" debug="5"/> >> >> <!-- Replace "localhost" with what your Apache "ServerName" is set >> to --> <Engine >> className="org.apache.catalina.connector.warp.WarpEngine" >> name="Apache" debug="5"> >> >> <Host name="localhost" debug="5" appBase="webapps" >> unpackWARs="true" autoDeploy="true"> >> >> <Context path="/intranet" docBase="intranet" >> debug="5" reloadable="true" crossContext="true"> >> >> <Resource name="jdbc/TestDB" auth="Container" >> type="javax.sql.DataSource"/> <ResourceParams >> name="jdbc/TestDB"> >> <parameter> >> <name>factory</name> >> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> >> </parameter> >> <parameter> >> <name>driverClassName</name> >> <value>net.sourceforge.jtds.jdbcx.TdsDataSource</value> >> </parameter> >> <parameter> >> <name>url</name> >> <value>jdbc:jtds:sqlserver://ns1:1433/WebDB</value> >> </parameter> >> <parameter> >> <name>username</name> >> <value>webuser</value> >> </parameter> >> <parameter> >> <name>password</name> >> <value>user</value> >> </parameter> >> </ResourceParams> >> >> <Logger className="org.apache.catalina.logger.FileLogger" >> prefix="intranet_log." suffix=".txt" >> timestamp="true"/> >> >> </Context> >> >> </Host> >> </Engine> >> </Service> >> >> </Server> >> >> And here is the webapps/intranet/WEB-INF/web.xml: >> >> <?xml version="1.0"?> >> >> <!DOCTYPE web-app >> PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" >> "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd"> >> >> <web-app> >> <resource-ref> >> <description>DB Connection</description> >> <res-ref-name>jdbc/TestDB</res-ref-name> >> <res-type>javax.sql.DataSource</res-type> >> <res-auth>Container</res-auth> >> </resource-ref> >> </web-app> >> >> >> >> >> >> > Has anyone else experienced this???? >> > I have read a couple of posts that I found off google, >> > and basically what they are saying is non of the information in the >> server.xml file is being passed to the Datasource or something of >> that nature. >> >> > The suggested fix was to hardcode everything but that kind of >> defeats the purpose. >> > >> > > I have experience that before, but that was my fault rather than >> tomcat. I put the source jar instead of the driver binary. Other >> than that DBCP >> > > worked as described in the tomcat documents. Cannot load JDBC >> driver >> > > class null usually means that it couldn't find the jdbc driver >> that you specified in the server.xml . >> > >> > that is strange cause I have it in >> > $CATALINA_HOME/common/lib >> > >> > And it is exactly the same class that I used when I was using JDBC >> non-jndi. >> >> >> -- >> To unsubscribe, e-mail: >> <mailto:[EMAIL PROTECTED]> For additional >> commands, e-mail: <mailto:[EMAIL PROTECTED]> > -- > shawn <[EMAIL PROTECTED]> > > > -- > To unsubscribe, e-mail: > <mailto:[EMAIL PROTECTED]> For additional > commands, e-mail: <mailto:[EMAIL PROTECTED]>
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>