急救,一个关于数据库连接池的问题,在线等!!!

04-10-18 peiqiang
我最近在配置数据库连接池可以一值出现问题,org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'

我用tomcat做服务器,db2做数据库,jdbc驱动程序db2java.jar也已经拷贝到tomcat\common\lib目录下了,配置如下:

conf/server.xml中的配置如下:

<Context path="" docBase="jspdev" debug="5" reloadable="true"

crossContext="true">

<Resource name="jdbc/test" auth="Container" type="javax.sql.DateSource"/>

<ResourceParams name="jdbc/test">

<parameter>

<name>factory</name>

<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>

</parameter>

<parameter>

<name>driverClassName</name>

<value>COM.ibm.db2.jdbc.app.DB2Driver</value>

</parameter>

<parameter>

<name>url</name>

<value>jdbc:db2:jspdev</value>

</parameter>

<parameter>

<name>username</name>

<value>peiqiang</value>

</parameter>

<parameter>

<name>password</name>

<value>811129</value>

</parameter>

<parameter>

<name>maxActive</name>

<value>20</value>

</parameter>

<parameter>

<name>maxIdle</name>

<value>10</value>

</parameter>

<parameter>

<name>maxWait</name>

<value>-1</value>

</parameter>

</ResourceParams>

</Context>

webapps\jspdev\WEB-INF\web.xml中的配置如下:

<resource-ref>

<description>DB Connection</description>

<res-ref-name>jdbc/test</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

jsp测试也面如下:

<%@ page contentType="text/html;charset=gb2312" language="java" import="javax.naming.Context,javax.sql.DataSource,javax.naming.InitialContext,java.sql.*"%>

<%

DataSource ds=null;

try

{

Context initCtx=new InitialContext();

Context envCtx=(Context)initCtx.lookup("java:comp/env");

ds=(DataSource)envCtx.lookup("jdbc/test");

if(ds!=null)

{

out.println("connection is ok!");

out.println("<br>");

Connection conn=ds.getConnection();

System.out.println("bbbbbbbb");

Statement stmt=conn.createStatement();

ResultSet rs=stmt.executeQuery("select * from category");

while(rs.next())

{

out.println(rs.getString("catid"));

out.println("<br>");

}

}

else

out.println("fail!");

}

catch(Exception e){out.println(e);}

%>

我测试了一下执行到Connection conn=ds.getConnection();这一句话时就出现了异常,往高手指点啊!!!!!!!!!!!!!!!!!!!!!!!!!!!谢谢!!!!!!!!!!!!!

winwu
2004-10-19 09:06
你没有把你的数据源和你的context捆绑在一起..所以当你用这个CONTEXT的时候..他就会找不到你的URL

猜你喜欢