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]>

Reply via email to