Paul, Several questions:
What version of Tomcat is this? What platform/OS are you on? Which JDK version? Typically this error is from a mis-configuration for the jndi. Here are my configuration files or parts of for my development box. First in the server.xml set up a GlobalResource such as this: <GlobalNamingResources> <Environment name="simpleValue" type="java.lang.Integer" value="30"/> <Resource name="jdbc/GolfDB" type="javax.sql.DataSource"/> <ResourceParams name="jdbc/GolfDB"> <parameter> <name>validationQuery</name> <value>select 1</value> </parameter> <parameter> <name>url</name> <value>jdbc:mysql://localhost:3306/golf?autoReconnect=true</value> </parameter> <parameter> <name>username</name> <value>******</value> </parameter> <parameter> <name>password</name> <value>******</value> </parameter> <parameter> <name>maxActive</name> <value>30</value> </parameter> <parameter> <name>maxWait</name> <value>5000</value> </parameter> <parameter> <name>driverClassName</name> <value>com.mysql.jdbc.Driver</value> </parameter> <parameter> <name>maxIdle</name> <value>2</value> </parameter> </ResourceParams> </GlobalNamingResources> Of course replace the necesary data with your specifics. Next place this, at the bottom, in your web.xml for the app: <resource-ref> <description>GolfDB Connection</description> <res-ref-name>jdbc/GolfDB</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> For TC5: Now create a file in the META-INF directory. Name the file context.xml. In this file you will need to define the context and the link to the jdbc. For TC4: Add this to the server.xml <Context className="org.apache.catalina.core.StandardContext" cachingAllowed="true" charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" crossContext="true" debug="0" displayName="golf" docBase="golf" mapperClass="org.apache.catalina.core.StandardContextMapper" path="/golf" privileged="false" reloadable="false" swallowOutput="false" useNaming="true" wrapperClass="org.apache.catalina.core.StandardWrapper"> <ResourceLink name="jdbc/GolfDB" global="jdbc/GolfDB" type="javax.sql.DataSource"/> </Context> My application is deployed with the manager from a war file named golf.war The resource name is jdbc/GolfDB and I am running against a MySQL database. Make sure all the names match exactly as this will cause many bumps from banging you head. Adjust other setting to match your needs. I am on TAO linux, Tomcat 5.0.19 /4.1.29 And JVM 1.4.2_04-b05. Doug www.parsonstechnical.com ----- Original Message ----- From: "Paul Richards" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, April 13, 2004 3:03 PM Subject: Tomcat and DataSource JNDI > Hi, > I am running Tomcat from the Java Webservices Developer Pack 1.3 and I > cannot get JNDI working for mysql DataSource objects. I have googled > around for my error which is: > > java.sql.SQLException: Cannot load JDBC driver class 'null' > at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.jav a:529) > at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:3 29) > > > What I found on google was that this error is not just a problem with Mysql and that people have experienced it with Oracle and Postgresql also: > http://archives.real-time.com/pipermail/tomcat-users/2002-October/081368.html > > I tried the suggestion in this last URL of using the exact orderings of > parameters in the server.xml file as shown in the Tomcat JNDI DataSource > HowTo. Unfortunately this has not helped my case. > > > I appreciate that a very similar thread to this is currently running but > that problem looks different to mine. > > > I have failover code which created a Mysql datasource manually if the > JNDI fails and the failover code works perfectly. This makes me sure > that my CLASSPATHs are correct. > > > > -- > Paul Richards <[EMAIL PROTECTED]> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]