I want to thank those who have been trying to help me get this working. I am
still stuck on this.
I am going to try and ask the same question again in a little different way and
maybe someone can spot what I am doing wrong. Or perhaps tell me if DB2 will
not work with a DataSource.
I have tried several different ways of configuring this. Mostly I have edited
the server.xml file myself. My latest attempt is to use the Tomcat management
application. The generated XML from server.xml is:
<GlobalNamingResources>
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<Resource auth="Container" description="User database that can be updated
and saved" name="UserDatabase" type="org.apache.catalina.UserDatabase"/>
<Resource name="jdbc/TestDB" type="javax.sql.DataSource"/>
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users.xml</value>
</parameter>
</ResourceParams>
<ResourceParams name="jdbc/TestDB">
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>
<parameter>
<name>password</name>
<value>test</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:db2://devhost1:446/FTBDB2D</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.ibm.db2.jcc.DB2Driver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
<parameter>
<name>username</name>
<value>f4185</value>
</parameter>
</ResourceParams>
</GlobalNamingResources>
In my web.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Data Source Test Servlet</display-name>
<description>Data Source test servlet for Tomcat</description>
<servlet>
<servlet-name>DSServlet</servlet-name>
<servlet-class>DSServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DSServlet</servlet-name>
<url-pattern>/DSServlet</url-pattern>
</servlet-mapping>
<resource-ref>
<description>
Resource reference to DB2.
</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>
In catalina.out:
org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '
' for connect URL 'null'
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSou
rce.java:780)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource
.java:540)
at DSServlet.connect(DSServlet.java:99)
at DSServlet.doGet(DSServlet.java:38)
...
Farther down:
Caused by: java.lang.NullPointerException
So I think the NullPointerException is in createDataSource. Could this mean
that the DB2 driver is incompatible in some way?
Other info:
Tomcat 5.0.28, DB2 8.1 (actually 8.2 I think).
I am able to access the database using DriverManager, so I am sure my URL is
right.
---------------------------------------------------------------------
To start a new topic, e-mail: [email protected]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]