Skip site navigation (1) Skip section navigation (2)

Cannot create JDBC driver of class '' for connect URL 'null'

From: "Stanley Wong" <wong(at)pcigeomatics(dot)com>
To: <pgsql-jdbc(at)postgresql(dot)org>
Subject: Cannot create JDBC driver of class '' for connect URL 'null'
Date: 2009-03-02 15:05:33
Message-ID: BF0BED91AA17F448A3A927857E11FC6403960B15@thor.pcigeomatics.com (view raw or flat)
Thread:
Lists: pgsql-jdbc
Hi,

I encounter a problem regarding setting up a JNDI Datasource at Tomcat
with PostgreSQL under Linux Suse 10.3 environment. This is the
exception. 

org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC
driver of class '' for connect URL 'null'

I wonder if there are some additional settings that I may have
forgotten. 

Would you give me a hand here?

Stanley



Here is what I do:

0) Ensure the postgreSQL.jar is stored inside the tomcat/lib 

1) Create a context.xml in the META-INF. The context.xml defines the
context below:

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/someApp" docBase="someApp"
   crossContext="true" reloadable="true" debug="1">

<Resource name="jdbc/postgres" auth="Container"
          type="javax.sql.DataSource"
driverClassName="org.postgresql.Driver"
          url="jdbc:postgresql://127.0.0.1:5432/testdb"
          username="gepguser" password="password" maxActive="20"
maxIdle="10"
maxWait="-1"/>
</Context> 

Where testdb is the database inside PostgreSQL.

2) Add the following entry in web.xml:

  	<resource-ref>
		<description>postgreSQL Datasource example</description>
		<res-ref-name>jdbc/postgres</res-ref-name>
		<res-type>javax.sql.DataSource</res-type>
		<res-auth>Container</res-auth>
	</resource-ref>

3) Use the following code to get the connection:

	public Connection getConnection() {
		Connection conn = null;
		Context initCtx;
		try {
			initCtx = new InitialContext();
			DataSource ds = (DataSource) initCtx
	
.lookup("java:comp/env/jdbc/postgres");

			conn = ds.getConnection();
		} catch (NamingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return conn;
	}




Responses

pgsql-jdbc by date

Next:From: DGPickettDate: 2009-03-02 16:25:53
Subject: Re: ResultSetMetaData.getColumnDisplaySize returns 2147483647 ?
Previous:From: Oliver JowettDate: 2009-03-02 09:10:30
Subject: Re: ResultSetMetaData.getColumnDisplaySize returns 2147483647 ?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group