Hello all,
I am currently working on getting Tomcat and DB2 to work together here and have 
been having a heck of a time.
I'm at a point where I'm able to reference the JNDI resource in my test servlet 
(finally), and now am getting a connection pool issue: "Cannot create
PoolableConnectionFactory"

I am running Tomcat 6.0.x. I know there were some changes to resource 
definitions at some point in v5, is there anything that changed in v6 that I 
could be missing? At what point do I declare a factory in the resource and 
how/why is that used?
To access the database, I use the following code:
                javax.sql.DataSource DS2 = 
(javax.sql.DataSource)ctx.lookup("java:/comp/env/jdbc/PhoenixDB");
                Connection con = DS2.getConnection();
If I add a factory attribute to context.xml (listed below), getConnection() 
returns null:  factory="com.ibm.db2.jcc.DB2DataSourceFactory"

I have seen many examples with 'how-to's", many of them don't specify versions 
and it's hard to tell what belongs to what.

Also in V6, it seems to be using a version of dbcp associated with tomcat as 
opposed to commons. (org.apache.tomcat.dbcp.*) Has some underlying behavior 
changed as well here?

Thanks!
-P

Following is information related to my setup:
--------

META-INF/context.xml:
<Context>
<Resource name="jdbc/PhoenixDB"
        auth="Container"
        type="javax.sql.DataSource"
        driverClassName="com.ibm.db2.jcc.DB2Driver"
        validationQuery="SELECT 1"
        loginTimeout="10"
        connectionProperties="currentSchema=T;"
        maxWait="5000"
        username="uid"
        password="pwd"
        testOnBorrow="true"
        driverType="4"
        url="jdbc:db2://test:50000/TDB"
        />
</Context>

Stacktrace:
DS2 : org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create
PoolableConnectionFactory (DB2 SQL error: SQLCODE: -104, SQLSTATE:
42601, SQLERRMC: ;;+ - AS )
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create
PoolableConnectionFactory (DB2 SQL error: SQLCODE: -104, SQLSTATE:
42601, SQLERRMC: ;;+ - AS )
        at 
org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:855)
        at 
org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
        at TestServlet.performTask(TestServlet.java:49)
        at TestServlet.doGet(TestServlet.java:17)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
        at 
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:866)
        at 
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:716)
        at 
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1498)
        at java.lang.Thread.run(Unknown Source)
Caused by: com.ibm.db2.jcc.b.SqlException: DB2 SQL error: SQLCODE: -104, 
SQLSTATE: 42601, SQLERRMC: ;;+ - AS 
        at com.ibm.db2.jcc.b.zc.e(zc.java:1606)
        at com.ibm.db2.jcc.b.zc.a(zc.java:1206)
        at com.ibm.db2.jcc.a.db.h(db.java:149)
        at com.ibm.db2.jcc.a.db.a(db.java:43)
        at com.ibm.db2.jcc.a.r.a(r.java:30)
        at com.ibm.db2.jcc.a.sb.g(sb.java:152)
        at com.ibm.db2.jcc.b.zc.n(zc.java:1186)
        at com.ibm.db2.jcc.b.zc.a(zc.java:1857)
        at com.ibm.db2.jcc.b.zc.a(zc.java:497)
        at com.ibm.db2.jcc.b.zc.executeQuery(zc.java:481)
        at 
org.apache.tomcat.dbcp.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:205)
        at 
org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:328)
        at 
org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:879)
        at 
org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:851)
        ... 17 more




 
____________________________________________________________________________________
Don't pick lemons.
See all the new 2007 cars at Yahoo! Autos.
http://autos.yahoo.com/new_cars.html

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to