You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by "Tuan H. Le" <tu...@phsadc.com> on 2002/09/28 01:45:10 UTC

Cannot load JDBC driver class 'null'

Hi,

I'm having a problem of configuring Tomcat 4.1 with Opta2000 JDBC driver for SQL Server 2000. I can load the same JDBC driver through the code, but it could not load that same driver during Tomcat startup process. I followed the instructions and examples on the internet sites. 

Do you know what I am missing?
Thanks!
Tuan

My Tomcat setting is below:

1) Put Opta2000.jar in the \WEB-INF\lib directory
2) Defined Datasource context in the server.xml
        <Context path="/ezhr" docBase="ezhr" debug="0"
                 reloadable="true" crossContext="true">
          <Logger className="org.apache.catalina.logger.FileLogger"
                  prefix="ezhrdb." suffix=".txt"
        	  timestamp="true"/>
          <!-- Datasource -->
          <Resource name="jdbc/ezhr" auth="Container"
                    type="javax.sql.DataSource"/>
          <ResourceParams name="jdbc/ezhr">
            <parameter>
               <name>maxActive</name>
               <value>100</value>
            </parameter>
            <parameter>
               <name>maxIdle</name>
               <value>1000</value>
            </parameter>
            <parameter>
              <name>maxWait</name>
              <value>100</value>
            </parameter>
            <parameter>
               <name>user</name>
               <value>xxxxx</value>
            </parameter>
            <parameter>
               <name>password</name>
               <value>yyyyy</value>
            </parameter>
            <parameter>
               <name>driverClassName</name>
               <value>com.inet.tds.TdsDriver</value>
            </parameter>
            <parameter>
               <name>driverName</name>
               <value>jdbc:inetdae7:localhost:1433:Database=ezhr</value>
            </parameter>
          </ResourceParams>
        </Context>
3) Defined resource-ref in the \WEB-INF\web.xml file
  <resource-ref>
    <description>
      Resource reference to a factory for java.sql.Connection instances that may be used for talking to a particular database that is configured in the server.xml file
    </description>
    <res-ref-name>jdbc/ezhr</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>



Here's the error in Tomcat log file:

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.setLogWriter(BasicDataSource.java:381)
	at org.apache.struts.action.ActionServlet.initApplicationDataSources(ActionServlet.java:942)
	at org.apache.struts.action.ActionServlet.init(ActionServlet.java:457)
	at javax.servlet.GenericServlet.init(GenericServlet.java:256)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:924)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:813)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3342)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:3534)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:821)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:579)
	at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:257)
	at org.apache.catalina.core.StandardHost.install(StandardHost.java:772)
	at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:569)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:411)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:879)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:368)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1196)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:738)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:347)
	at org.apache.catalina.core.StandardService.start(StandardService.java:497)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:2191)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:510)
	at org.apache.catalina.startup.Catalina.execute(Catalina.java:400)
	at org.apache.catalina.startup.Catalina.process(Catalina.java:180)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)
[ERROR] ActionServlet - -Initializing application data source org.apache.struts.action.DATA_SOURCE <java.sql.SQLException: Cannot load JDBC driver class 'null'>

2002-09-27 16:20:17 StandardContext[/ezhr]: Servlet /ezhr threw load() exception
javax.servlet.UnavailableException: Initializing application data source org.apache.struts.action.DATA_SOURCE
	at org.apache.struts.action.ActionServlet.initApplicationDataSources(ActionServlet.java:946)
	at org.apache.struts.action.ActionServlet.init(ActionServlet.java:457)
	at javax.servlet.GenericServlet.init(GenericServlet.java:256)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:924)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:813)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3342)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:3534)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:821)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:579)
	at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:257)
	at org.apache.catalina.core.StandardHost.install(StandardHost.java:772)
	at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:569)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:411)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:879)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:368)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1196)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:738)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:347)
	at org.apache.catalina.core.StandardService.start(StandardService.java:497)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:2191)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:510)
	at org.apache.catalina.startup.Catalina.execute(Catalina.java:400)
	at org.apache.catalina.startup.Catalina.process(Catalina.java:180)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)