日期:2014-05-16  浏览次数:20394 次

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

     如果你在使用jndi配置数据源的过程中反复出现下面的错误,而且你已经使用了很多方式都无法获取正确的数据源,那么就不要再浪费时间了,删除其他的配置方法按下面的方法进行配置,保证你能够有一个好使的数据源,

使用jndi的方式配置tomcat的数据源报了下面的错误:

org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:780)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
at com.TestConn.doGet(TestConn.java:29)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

解决方法:这说明你的jdbc的数据源并没有被注册,jndi的数据源大致分两部:
第一步:配置web.xml文件
在你的项目的web.xml文件之中加入如下的配置:
<resource-ref>
  <description>DB Connection</description>
<!--这个就是你要连接的数据源名称webglDS_A6,下面的Context.xml文件中的数据源名称一定要和此名称一致-->
<res-ref-name>webglDS_A6</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
         </resource-ref>
第二步:配置Context.xml文件
Context.xml文件之中就是连接数据库的详细信息(注意是Context.xml而不是context.xml),这部分的设置有两种情况:
情况一:项目是通过eclipse视图部署到tomcat之中
这时,你只需要在META-INF目录下面建一个Context.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<!--下面的配置只是针对tomcat5.0 -->
<Resource name="webglDS_A6" type="javax.sql.DataSource" />
<ResourceParams name="webglDS_A6">
<parameter>
<name>auth</name>
<value>Container</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>10</value>
</parameter>
<parameter>
<name>password</name>
<value>1</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@10.11.112.80:1521:orcl</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>