我是用的tomcat 5.5.27+sql 2000,打了sp4补丁,导入了驱动包,项目名字叫做target,放在C:\apache-tomcat-5.5.27\webapps\target目录下了,我最近在搞这个连接池的问题,我把server.xml和web.xml都配置了但是始终报错Cannot create JDBC driver of class '' for connect URL 'null'。
  1.server.xml 的<host></host>标签里加入了
<Context path="/target"  docBase="C:\apache-tomcat-5.5.27\webapps\target" debug="0" reloadable="true" crossContext="true">         
    <Resource name="jdbc/target" auth="Container" type="javax.sql.DataSource" username="sa" password="br13jhhrhl"  driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://192.168.5.19:1433;DatabaseName=target"  maxActive="100" maxIdle="30" maxWait="10000"/>
</Context>
  2.web.xml的<WEB-APP></web-app>标签里加入了
<resource-ref>
        <description>DB connect</description>
        <res-ref-name>jdbc/target</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
</resource-ref>
 都配置好了但是还是出错,那位高手帮帮忙,看看我到底那里错了?
我的程序代码是:
public class DBConnection { private static Connection conn; /**
 * 使用JNDI方式连接数据库,并返回连接
 * 
 * @return Connection
 */
public static synchronized Connection getConnectionForJndi()
throws DBAccessException { try {
Context ic = new InitialContext(); DataSource source = (DataSource) ic
.lookup("java:comp/env/jdbc/target");
conn = source.getConnection();
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
}

解决方案 »

  1.   

    org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1150)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
    at xxsjavacode.javacode2.common.DBConnection.getConnectionForJndi(DBConnection.java:33)
    at xxsjavacode.javacode2.operation.UserBo.validUser(UserBo.java:26)
    at xxsjavacode.javacode2.servlet.LoginServlet.doPost(LoginServlet.java:38)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
      

  2.   

    试试这个url="jdbc:microsoft:sqlserver://192.168.5.19:1433/target?autoReconnect=true"
      

  3.   

    <Context path="/target"  docBase="C:\apache-tomcat-5.5.27\webapps\target" debug="0" reloadable="true" crossContext="true">         
        <Resource name="jdbc/target" auth="Container" type="javax.sql.DataSource" username="sa" password="br13jhhrhl"  driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://192.168.5.19:1433;DatabaseName=target"  maxActive="100" maxIdle="30" maxWait="10000"/>
    </Context>
    更改成
    <Context path="/target"  docBase="C:\apache-tomcat-5.5.27\webapps\target" debug="0" reloadable="true" crossContext="true">         
        <Resource name="jdbc/target" auth="Container" type="javax.sql.DataSource" >
    <parameter> 
    <name>username</name> 
    <value>sa</value> 
    </parameter> 
    <parameter> 
    <name>password</name> 
    <value>br13jhhrhl</value> 
    </parameter> <parameter> 
    <name>driverClassName</name> 
    <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value> 
    </parameter> <parameter> 
    <name>url</name> 
    <value>jdbc:microsoft:sqlserver://192.168.5.19:1433;DatabaseName=target</value> 
    </parameter> <parameter> 
    <name>maxActive</name> 
    <value>100</value> 
    </parameter> <parameter> 
    <name>maxIdle</name> 
    <value>30</value> 
    </parameter> 
    <parameter> 
    <name>maxWait</name> 
    <value>10000</value> 
    </parameter> 
    </Context>
    试试看
      

  4.   

    <Context path="/target"  docBase="C:\apache-tomcat-5.5.27\webapps\target" debug="0">
    <Resource name="jdbc/target" auth="Container" type="javax.sql.DataSource" >
    <ResourceParams name="jdbc/test"> 
    <parameter> 
    <name>username </name> 
    <value>sa </value> 
    </parameter> 
    <parameter> 
    <name>password </name> 
    <value>br13jhhrhl </value> 
    </parameter> <parameter> 
    <name>driverClassName </name> 
    <value>com.microsoft.jdbc.sqlserver.SQLServerDriver </value> 
    </parameter> <parameter> 
    <name>url </name> 
    <value>jdbc:microsoft:sqlserver://192.168.5.19:1433;DatabaseName=target </value> 
    </parameter> <parameter> 
    <name>maxActive </name> 
    <value>100 </value> 
    </parameter> <parameter> 
    <name>maxIdle </name> 
    <value>30 </value> 
    </parameter> 
    <parameter> 
    <name>maxWait </name> 
    <value>10000 </value> 
    </parameter> 
    </ResourceParams >
    </Context>
      

  5.   

    http://topic.csdn.net/u/20081224/17/432a9501-9ec6-48e9-be59-b8f2203538da.html
      

  6.   

    http://topic.csdn.net/u/20081224/17/432a9501-9ec6-48e9-be59-b8f2203538da.html
      

  7.   

     Cannot create JDBC driver of class 
     找不到JDBC驱动包,有没有把JDBC驱动包放在TOMCAT
      \apache-tomcat-6.0.13\lib\目录下????由于它找不到该JDBC包创建不了对象所以就报异常了!!!
      

  8.   

    楼主应该是没有添加sqlserver的三个驱动包吧?
    1.拷贝到tomcat/common/lib下即可。
    2.通过admin用户登录,查看一下数据源是否配置好?
      

  9.   

    commons-collections-2.1.1.jar
    commons-dbcp.jar
    commons-pool.jar
    这三个jar包必须导进去,然后加上你自己的sql2000的数据库jar包
    然后再试试
    <Context path="/target"  docBase="C:\apache-tomcat-5.5.27\webapps\target" debug="0"> 
    <Resource name="jdbc/target" auth="Container" type="javax.sql.DataSource" > 
    <ResourceParams name="jdbc/test"> 
    <parameter> 
    <name>username </name> 
    <value>sa </value> 
    </parameter> 
    <parameter> 
    <name>password </name> 
    <value>br13jhhrhl </value> 
    </parameter> <parameter> 
    <name>driverClassName </name> 
    <value>com.microsoft.jdbc.sqlserver.SQLServerDriver </value> 
    </parameter> <parameter> 
    <name>url </name> 
    <value>jdbc:microsoft:sqlserver://192.168.5.19:1433;DatabaseName=target </value> 
    </parameter> <parameter> 
    <name>maxActive </name> 
    <value>100 </value> 
    </parameter> <parameter> 
    <name>maxIdle </name> 
    <value>30 </value> 
    </parameter> 
    <parameter> 
    <name>maxWait </name> 
    <value>10000 </value> 
    </parameter> 
    </ResourceParams > 
    </Context> 
    希望能帮上你
      

  10.   

    你的配置没有写对地方 ,\Tomcat 5.5\conf\context.xml中配置<Resource name="jdbc/name" auth="Container" type="javax.sql.DataSource" maxActive="100" maxWait="10000"
    maxIdle="30" 
    username="sa"
    password="236236" 
    driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
    url="jdbc:sqlserver://localhost:1433;DatabaseName=books"/>然后在web.xml中 <resource-ref>
    <description>a @book dbcp</description>
    <res-ref-name>jdbc/name</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>我写的连接字符串是sql2005的 你改成2000的足矣 顺便把jar包也要放到Tomcat 下
    ok!