You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Robert Dunn <ro...@insfin.com> on 2002/09/02 03:37:40 UTC
getConnection() returning a NULL JDBC driver
Hi all,
I am attempting to get a connection to the JDBC entry from the server.xml
file and keep getting the error "Cannot load JDBC driver class 'null'". The
error occurs when I attempt to call "ds.getConnection();". I have placed all
of the Interbase JAR files in the Common\Lib directory; Do I need
to register these with Tomcat somehow?
All of the files/system are detailed below. Any ideas would be helpful.
Platform:
WinXP
Tomcat 4.1.9 Stand Alone
Java code:
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/Transhub");
Connection conn = ds.getConnection();
The entry in the web.xml file is as follows:
<resource-ref>
<description>Interbase JDBC</description>
<res-ref-name>jdbc/Transhub</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
Entry from the server.xml file is:
<Resource name="jdbc/Transhub" auth="Container"
type="javax.sql.DataSource"
description="Resource name for the interbase client connection"/>
<ResourceParams name="jdbc/Transhub">
<parameter>
<name>description</name>
<value>Resource Parameters for the Transhub Interbase DB</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>8</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>4</value>
</parameter>
<parameter>
<name>user</name>
<value>sysdba</value>
</parameter>
<parameter>
<name>password</name>
<value>XXXX</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>interbase.interclient.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:interbase://localhost/C:/Program Files/Common Files/Insfin
Shared/data/iitweb.gdb</value>
</parameter>
</ResourceParams>
Thanks in advance, Rob :->
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: getConnection() returning a NULL JDBC driver
Posted by Rosdi bin Kasim <ro...@mail.epantai.com.my>.
Try this:
DataSource ds = (DataSource) envCtx.lookup("jdbc/Transhub");
and for your ResourceLink, try
<ResourceLink global="jdbc/Transhub" name="jdbc/Transhub"
type="javax.sql.DataSource"/>
I dont know if that would make any difference.. but it works for me..
----- Original Message -----
From: "Robert Dunn" <ro...@insfin.com>
To: "Tomcat Users List" <to...@jakarta.apache.org>
Sent: Monday, September 02, 2002 2:44 PM
Subject: RE: getConnection() returning a NULL JDBC driver
> Hi Rosdi,
>
> I tried your suggestions without much luck. When I create a context
> reference to the Interbase DB the code fails on the following line:
>
> DataSource ds = (DataSource) envCtx.lookup("jdbcTranshub");
>
> with the error:
>
> Name jdbcTranshub is not bound in this Context
>
> The entry I created in the Server.XML file is:
>
> <Context path="C:\Program Files\Apache Group\Tomcat 4.1\webapps\transhub"
> docBase="transhub" debug="0"
> reloadable="true" crossContext="true">
> <ResourceLink global="jdbc/Transhub" name="jdbcTranshub"
> type="javax.sql.DataSource"/>
> </Context>
>
> Java code is:
>
> Context initCtx = new InitialContext();
> Context envCtx = (Context) initCtx.lookup("java:comp/env");
> DataSource ds = (DataSource) envCtx.lookup("jdbcTranshub");
> Connection conn = ds.getConnection();
>
> Any other ideas?
>
> Thanks in advance, Rob.
>
> PS: I did remove the "Resource-Ref" out of the web.xml file as well.
>
> -----Original Message-----
> From: Rosdi bin Kasim [mailto:rosdi@epantai.com.my]
> Sent: Monday, 2 September 2002 12:13 PM
> To: Tomcat Users List
> Subject: Re: getConnection() returning a NULL JDBC driver
>
>
> Robert,
>
> First of all.., I am using Oracle and Tomcat 4.1.9, so my answer might not
> apply to your problem..
>
> I got the same error like yours.. but after I removed all reference to the
> datasource in web.xml and
> then I declared a ResourceLink like this in my server.xml my program is
> running perfectly.
>
> Here is my global datasource in server.xml
>
> <Resource auth="Container" name="jdbc/epantaidbPool" scope="Shareable"
> type="javax.sql.DataSource"/>
> <ResourceParams name="jdbc/epantaidbPool">
> <parameter>
> <name>username</name>
> <value>epuser</value>
> </parameter>
> <parameter>
> <name>url</name>
> <value>jdbc:oracle:thin:@localhost:1521:epantai</value>
> </parameter>
> <parameter>
> <name>password</name>
> <value>zaq12wsx</value>
> </parameter>
> <parameter>
> <name>maxActive</name>
> <value>20</value>
> </parameter>
> <parameter>
> <name>maxWait</name>
> <value>5000</value>
> </parameter>
> <parameter>
> <name>driverClassName</name>
> <value>oracle.jdbc.driver.OracleDriver</value>
> </parameter>
> <parameter>
> <name>maxIdle</name>
> <value>10</value>
> </parameter>
> </ResourceParams>
>
>
> And then here is the resource link for my application, also in server.xml.
>
>
> <Context className="org.apache.catalina.core.StandardContext"
> cachingAllowed="true"
> charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true"
> crossContext="false" debug="0"
> docBase="C:\jakarta-tomcat-4.1.9\webapps\mediline_upload"
> mapperClass="org.apache.catalina.core.StandardContextMapper"
> path="/mediline_upload" privileged="false" reloadable="false"
> useNaming="true" wrapperClass="org.apache.catalina.core.StandardWrapper">
> <ResourceLink global="jdbc/epantaidbPool"
> name="jdbc/epantaidbPool" type="javax.sql.DataSource"/>
> </Context>
>
>
> Then I create a singleton class to initialise the datasource, all my codes
> then get the connection from this singleton class.
>
> I attach the server.xml, web.xml, ConnCache.java, and DatabaseManager.java
> for your reference. Hope that helps..
>
> Regards,
> Rosdi.
>
>
>
>
> ----- Original Message -----
> From: "Robert Dunn" <ro...@insfin.com>
> To: "Tomcat Users List" <to...@jakarta.apache.org>
> Sent: Monday, September 02, 2002 9:37 AM
> Subject: getConnection() returning a NULL JDBC driver
>
>
> > Hi all,
> >
> > I am attempting to get a connection to the JDBC entry from the
server.xml
> > file and keep getting the error "Cannot load JDBC driver class 'null'".
> The
> > error occurs when I attempt to call "ds.getConnection();". I have placed
> all
> > of the Interbase JAR files in the Common\Lib directory; Do I need
> > to register these with Tomcat somehow?
> >
> > All of the files/system are detailed below. Any ideas would be helpful.
> >
> > Platform:
> > WinXP
> > Tomcat 4.1.9 Stand Alone
> >
> > Java code:
> > Context initCtx = new InitialContext();
> > Context envCtx = (Context) initCtx.lookup("java:comp/env");
> > DataSource ds = (DataSource) envCtx.lookup("jdbc/Transhub");
> > Connection conn = ds.getConnection();
> >
> > The entry in the web.xml file is as follows:
> > <resource-ref>
> > <description>Interbase JDBC</description>
> > <res-ref-name>jdbc/Transhub</res-ref-name>
> > <res-type>javax.sql.DataSource</res-type>
> > <res-auth>Container</res-auth>
> > </resource-ref>
> >
> > Entry from the server.xml file is:
> >
> > <Resource name="jdbc/Transhub" auth="Container"
> > type="javax.sql.DataSource"
> > description="Resource name for the interbase client
connection"/>
> > <ResourceParams name="jdbc/Transhub">
> > <parameter>
> > <name>description</name>
> > <value>Resource Parameters for the Transhub Interbase DB</value>
> > </parameter>
> > <parameter>
> > <name>maxActive</name>
> > <value>8</value>
> > </parameter>
> > <parameter>
> > <name>maxIdle</name>
> > <value>4</value>
> > </parameter>
> > <parameter>
> > <name>user</name>
> > <value>sysdba</value>
> > </parameter>
> > <parameter>
> > <name>password</name>
> > <value>XXXX</value>
> > </parameter>
> > <parameter>
> > <name>driverClassName</name>
> > <value>interbase.interclient.Driver</value>
> > </parameter>
> > <parameter>
> > <name>url</name>
> > <value>jdbc:interbase://localhost/C:/Program Files/Common
> Files/Insfin
> > Shared/data/iitweb.gdb</value>
> > </parameter>
> > </ResourceParams>
> >
> > Thanks in advance, Rob :->
> >
> >
> > --
> > To unsubscribe, e-mail:
> <ma...@jakarta.apache.org>
> > For additional commands, e-mail:
> <ma...@jakarta.apache.org>
> >
>
----------------------------------------------------------------------------
----
> --
> To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
> For additional commands, e-mail:
<ma...@jakarta.apache.org>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
RE: getConnection() returning a NULL JDBC driver
Posted by Robert Dunn <ro...@insfin.com>.
Hi Rosdi,
I tried your suggestions without much luck. When I create a context
reference to the Interbase DB the code fails on the following line:
DataSource ds = (DataSource) envCtx.lookup("jdbcTranshub");
with the error:
Name jdbcTranshub is not bound in this Context
The entry I created in the Server.XML file is:
<Context path="C:\Program Files\Apache Group\Tomcat 4.1\webapps\transhub"
docBase="transhub" debug="0"
reloadable="true" crossContext="true">
<ResourceLink global="jdbc/Transhub" name="jdbcTranshub"
type="javax.sql.DataSource"/>
</Context>
Java code is:
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbcTranshub");
Connection conn = ds.getConnection();
Any other ideas?
Thanks in advance, Rob.
PS: I did remove the "Resource-Ref" out of the web.xml file as well.
-----Original Message-----
From: Rosdi bin Kasim [mailto:rosdi@epantai.com.my]
Sent: Monday, 2 September 2002 12:13 PM
To: Tomcat Users List
Subject: Re: getConnection() returning a NULL JDBC driver
Robert,
First of all.., I am using Oracle and Tomcat 4.1.9, so my answer might not
apply to your problem..
I got the same error like yours.. but after I removed all reference to the
datasource in web.xml and
then I declared a ResourceLink like this in my server.xml my program is
running perfectly.
Here is my global datasource in server.xml
<Resource auth="Container" name="jdbc/epantaidbPool" scope="Shareable"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/epantaidbPool">
<parameter>
<name>username</name>
<value>epuser</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@localhost:1521:epantai</value>
</parameter>
<parameter>
<name>password</name>
<value>zaq12wsx</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
</ResourceParams>
And then here is the resource link for my application, also in server.xml.
<Context className="org.apache.catalina.core.StandardContext"
cachingAllowed="true"
charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true"
crossContext="false" debug="0"
docBase="C:\jakarta-tomcat-4.1.9\webapps\mediline_upload"
mapperClass="org.apache.catalina.core.StandardContextMapper"
path="/mediline_upload" privileged="false" reloadable="false"
useNaming="true" wrapperClass="org.apache.catalina.core.StandardWrapper">
<ResourceLink global="jdbc/epantaidbPool"
name="jdbc/epantaidbPool" type="javax.sql.DataSource"/>
</Context>
Then I create a singleton class to initialise the datasource, all my codes
then get the connection from this singleton class.
I attach the server.xml, web.xml, ConnCache.java, and DatabaseManager.java
for your reference. Hope that helps..
Regards,
Rosdi.
----- Original Message -----
From: "Robert Dunn" <ro...@insfin.com>
To: "Tomcat Users List" <to...@jakarta.apache.org>
Sent: Monday, September 02, 2002 9:37 AM
Subject: getConnection() returning a NULL JDBC driver
> Hi all,
>
> I am attempting to get a connection to the JDBC entry from the server.xml
> file and keep getting the error "Cannot load JDBC driver class 'null'".
The
> error occurs when I attempt to call "ds.getConnection();". I have placed
all
> of the Interbase JAR files in the Common\Lib directory; Do I need
> to register these with Tomcat somehow?
>
> All of the files/system are detailed below. Any ideas would be helpful.
>
> Platform:
> WinXP
> Tomcat 4.1.9 Stand Alone
>
> Java code:
> Context initCtx = new InitialContext();
> Context envCtx = (Context) initCtx.lookup("java:comp/env");
> DataSource ds = (DataSource) envCtx.lookup("jdbc/Transhub");
> Connection conn = ds.getConnection();
>
> The entry in the web.xml file is as follows:
> <resource-ref>
> <description>Interbase JDBC</description>
> <res-ref-name>jdbc/Transhub</res-ref-name>
> <res-type>javax.sql.DataSource</res-type>
> <res-auth>Container</res-auth>
> </resource-ref>
>
> Entry from the server.xml file is:
>
> <Resource name="jdbc/Transhub" auth="Container"
> type="javax.sql.DataSource"
> description="Resource name for the interbase client connection"/>
> <ResourceParams name="jdbc/Transhub">
> <parameter>
> <name>description</name>
> <value>Resource Parameters for the Transhub Interbase DB</value>
> </parameter>
> <parameter>
> <name>maxActive</name>
> <value>8</value>
> </parameter>
> <parameter>
> <name>maxIdle</name>
> <value>4</value>
> </parameter>
> <parameter>
> <name>user</name>
> <value>sysdba</value>
> </parameter>
> <parameter>
> <name>password</name>
> <value>XXXX</value>
> </parameter>
> <parameter>
> <name>driverClassName</name>
> <value>interbase.interclient.Driver</value>
> </parameter>
> <parameter>
> <name>url</name>
> <value>jdbc:interbase://localhost/C:/Program Files/Common
Files/Insfin
> Shared/data/iitweb.gdb</value>
> </parameter>
> </ResourceParams>
>
> Thanks in advance, Rob :->
>
>
> --
> To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
> For additional commands, e-mail:
<ma...@jakarta.apache.org>
>
Re: getConnection() returning a NULL JDBC driver
Posted by Rosdi bin Kasim <ro...@epantai.com.my>.
Robert,
First of all.., I am using Oracle and Tomcat 4.1.9, so my answer might not
apply to your problem..
I got the same error like yours.. but after I removed all reference to the
datasource in web.xml and
then I declared a ResourceLink like this in my server.xml my program is
running perfectly.
Here is my global datasource in server.xml
<Resource auth="Container" name="jdbc/epantaidbPool" scope="Shareable"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/epantaidbPool">
<parameter>
<name>username</name>
<value>epuser</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@localhost:1521:epantai</value>
</parameter>
<parameter>
<name>password</name>
<value>zaq12wsx</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
</ResourceParams>
And then here is the resource link for my application, also in server.xml.
<Context className="org.apache.catalina.core.StandardContext"
cachingAllowed="true"
charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true"
crossContext="false" debug="0"
docBase="C:\jakarta-tomcat-4.1.9\webapps\mediline_upload"
mapperClass="org.apache.catalina.core.StandardContextMapper"
path="/mediline_upload" privileged="false" reloadable="false"
useNaming="true" wrapperClass="org.apache.catalina.core.StandardWrapper">
<ResourceLink global="jdbc/epantaidbPool"
name="jdbc/epantaidbPool" type="javax.sql.DataSource"/>
</Context>
Then I create a singleton class to initialise the datasource, all my codes
then get the connection from this singleton class.
I attach the server.xml, web.xml, ConnCache.java, and DatabaseManager.java
for your reference. Hope that helps..
Regards,
Rosdi.
----- Original Message -----
From: "Robert Dunn" <ro...@insfin.com>
To: "Tomcat Users List" <to...@jakarta.apache.org>
Sent: Monday, September 02, 2002 9:37 AM
Subject: getConnection() returning a NULL JDBC driver
> Hi all,
>
> I am attempting to get a connection to the JDBC entry from the server.xml
> file and keep getting the error "Cannot load JDBC driver class 'null'".
The
> error occurs when I attempt to call "ds.getConnection();". I have placed
all
> of the Interbase JAR files in the Common\Lib directory; Do I need
> to register these with Tomcat somehow?
>
> All of the files/system are detailed below. Any ideas would be helpful.
>
> Platform:
> WinXP
> Tomcat 4.1.9 Stand Alone
>
> Java code:
> Context initCtx = new InitialContext();
> Context envCtx = (Context) initCtx.lookup("java:comp/env");
> DataSource ds = (DataSource) envCtx.lookup("jdbc/Transhub");
> Connection conn = ds.getConnection();
>
> The entry in the web.xml file is as follows:
> <resource-ref>
> <description>Interbase JDBC</description>
> <res-ref-name>jdbc/Transhub</res-ref-name>
> <res-type>javax.sql.DataSource</res-type>
> <res-auth>Container</res-auth>
> </resource-ref>
>
> Entry from the server.xml file is:
>
> <Resource name="jdbc/Transhub" auth="Container"
> type="javax.sql.DataSource"
> description="Resource name for the interbase client connection"/>
> <ResourceParams name="jdbc/Transhub">
> <parameter>
> <name>description</name>
> <value>Resource Parameters for the Transhub Interbase DB</value>
> </parameter>
> <parameter>
> <name>maxActive</name>
> <value>8</value>
> </parameter>
> <parameter>
> <name>maxIdle</name>
> <value>4</value>
> </parameter>
> <parameter>
> <name>user</name>
> <value>sysdba</value>
> </parameter>
> <parameter>
> <name>password</name>
> <value>XXXX</value>
> </parameter>
> <parameter>
> <name>driverClassName</name>
> <value>interbase.interclient.Driver</value>
> </parameter>
> <parameter>
> <name>url</name>
> <value>jdbc:interbase://localhost/C:/Program Files/Common
Files/Insfin
> Shared/data/iitweb.gdb</value>
> </parameter>
> </ResourceParams>
>
> Thanks in advance, Rob :->
>
>
> --
> To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
> For additional commands, e-mail:
<ma...@jakarta.apache.org>
>
Re: getConnection() returning a NULL JDBC driver
Posted by Martin Jacobson <ma...@libero.it>.
Robert Dunn wrote:
> Hi all,
>
> I am attempting to get a connection to the JDBC entry from the server.xml
> file and keep getting the error "Cannot load JDBC driver class 'null'". The
> error occurs when I attempt to call "ds.getConnection();". I have placed all
> of the Interbase JAR files in the Common\Lib directory; Do I need
> to register these with Tomcat somehow?
>
<snip>
>
> Entry from the server.xml file is:
>
> <Resource name="jdbc/Transhub" auth="Container"
> type="javax.sql.DataSource"
> description="Resource name for the interbase client connection"/>
> <ResourceParams name="jdbc/Transhub">
> <parameter>
> <name>description</name>
> <value>Resource Parameters for the Transhub Interbase DB</value>
> </parameter>
> <parameter>
> <name>maxActive</name>
> <value>8</value>
> </parameter>
> <parameter>
> <name>maxIdle</name>
> <value>4</value>
> </parameter>
> <parameter>
vvvv *********
> <name>user</name> <-********* change this to <name>username</name>
^^^^ *********
> <value>sysdba</value>
> </parameter>
> <parameter>
> <name>password</name>
> <value>XXXX</value>
> </parameter>
> <parameter>
> <name>driverClassName</name>
> <value>interbase.interclient.Driver</value>
> </parameter>
> <parameter>
> <name>url</name>
> <value>jdbc:interbase://localhost/C:/Program Files/Common Files/Insfin
> Shared/data/iitweb.gdb</value>
> </parameter>
> </ResourceParams>
Also, I've read somewhere on this list that folks have trouble with
directory names with spaces in, so maybe you could fix that, too.
But it's the parameter name that's the 'gotcha' :-)
HTH,
Martin.
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>