Tomcat - PostgreSQL - Cannot load JDBC driver class "null"

From: "CRAIG GOLBY" <craig(at)golby(dot)me(dot)uk>
To: <pgsql-jdbc(at)postgresql(dot)org>
Subject: Tomcat - PostgreSQL - Cannot load JDBC driver class "null"
Date: 2003-09-26 16:29:50
Message-ID: C503D64777A56B4EBF0A50A6DCD976DD017317@DEVELOP001
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Help, I am tearing my hair out.

I am a newbie to Linux and Tomcat, and am therefore amazed that I have
got as far as I have, that said I now seem to be stuck in front of a
brick wall, with no ladder !!

Tomcat 4.1.24 is running on ServerOne (Red Hat 9), it is currently
serving out a couple of very basic JSP's and seems to be working quite
well. ServerOne also has J2SDK 1.4.1_03 installed. PostgreSQL 7.3 is
running on ServerTwo (Red Hat 9). Have also installed pgAdminIII on
both a Windows Laptop and ServerTwo. The Laptop version works fine, if
a little unstable, so TCP/IP connectivity is working fine.

Within PostgreSQL I have created a new Db called "PersonalDb", within
the public Schema I have created a table called "testOne". TestOne has
three columns, Id, FieldOne and DateStamp, and there are currently 2
rows of data within the table

Sample of code used is below, along with a list of the Jar files in
common/lib.

I have read through so many mailing lists now and tried so many things
that I dont know what I have and havent done, am fairly sure that it is
either a configuration issue or a missing file so will no doubt kick
myself when I find out the answer.

Any assistance would be greatly appreciated.

Regards


Craig


*******************************************************
Server XML :- Tomcat/conf
*******************************************************
<Context path="/DBTest"
docBase="DBTest"
debug="5"
reloadable="true"
crossContext="true">

<Logger className="org.apache.catalina.logger.FileLogger"
prefix="localhost_DBTest_log." suffix=".txt"
timestamp="true"/>

<Resource name="jdbc/PersonalDb"
type="javax.sql.DataSource"
auth="Container"/>

<ResourceParams name="jdbc/PersonalDb">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>

<parameter>
<name>driverClassName</name>
<value>org.postgresql.Driver</value>
</parameter>

<parameter>
<name>url</name>
<value>jdbc:postgresql://ServerTwo:5432/PersonalDb</value>
</parameter>

<parameter>
<name>username</name>
<value>myUser</value>
</parameter>

<parameter>
<name>password</name>
<value>myPassword</value>
</parameter>

<parameter>
<name>maxActive</name>
<value>10</value>
</parameter>

<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>

<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>

</ResourceParams>
</Context>

</Host>
</Engine>
</Service>


*******************************************************
Web XML :- Tomcat/webapps/root/WEB-INF
*******************************************************
<description>PostgreSQL Test App</description>
<resource-ref>
<description>postgreSQL Datasource example</description>
<res-ref-name>jdbc/PersonalDb</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>



*******************************************************
My Class File
*******************************************************

public void init() {
try{
Context ctx = new InitialContext();
if(ctx == null )
throw new Exception("Boom - No Context");
status = "checking CTX";

DataSource ds =
(DataSource)ctx.lookup("java:comp/env/jdbc/PersonalDb");
status = "Completing Lookup of CTX";

if (ds != null)
{
status = "Creating Connection";
Connection conn = ds.getConnection(); <----- FAILS HERE
status = "Created Connection";
if(conn != null)
{
foo = "Got Connection "+conn.toString();
Statement stmt = conn.createStatement();
ResultSet rst =
stmt.executeQuery(
"select Id, FieldOne, DateStamp from Public.testOne");
status = "Completing Select";
if(rst.next())
{
foo=rst.getString(2);
bar=rst.getInt(3);
}
status = "Looped through Resultset";
conn.close();
}
}
else {status = "Fell into Else";}
}catch(Exception e) {
e.printStackTrace();
status = status + ", now in exception block :-" + e.toString();

}
}

*******************************************************
Class Files in Tomcat/common/lib
*******************************************************
activation.jar
ant.jar
collections-2.1.jar
commons-collections.jar
commons-dbcp-1.0.jar
commons-dbcp.jar
commons-logging-api.jar
commons-pool.jar
jasper-compiler.jar
jasper-runtime.jar
jdbc2_0-stdext.jar
jndi.jar
jta.jar
mail.jar
naming-common.jar
naming-factory.jar
naming-resources.jar
pg73jdbc3.jar
pool-1.0.1.jar
postgresql.jar (Copy of pg73jdbc3.jar)
servlet.jar





Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Dave Cramer 2003-09-26 17:03:11 Re: Tomcat - PostgreSQL - Cannot load JDBC driver class
Previous Message CRAIG GOLBY 2003-09-26 16:24:27 Tomcat - PostgreSQL - Cannot load JDBC driver class "null"