zoukankan      html  css  js  c++  java
  • Cannot create JDBC driver of class '' for connect URL 'null'

    来源:http://geeklondon.com/blog/comments/tipnulljdbc#comments

    遇到此问题说明你使用的是Tomcat,并且你没有正确设置JNDI。

    所以当你试图得到DataSource时,你得到了这样的错误提示:Cannot create JDBC driver of class '' for connect URL 'null'

    Driver problems

    首先你看下是否有别的错误信息。例如,如果你看到如下信息:

    org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null', cause: java.sql.SQLException: No suitable driver

    这时你看到的是一个简单的classpath问题,把驱动jar包放入Tomcat lib目录下。同时也要确定你正确调用了Class.forName()方法

    另外要确定你的connection URL正确,驱动的加载依赖它,所以如果URL错一个字母,那么驱动就加载不了,即使MySql driver都放到了正确位置。

    JNDI problems

    如果不是上面的问题,那么解决有个简单的方法解决这个问题。你可能使用的是Tomcat5.5或Tomcat6.0,并且你使用了Tomcat5.0或4.x的方法配置了数据源。

    你的配置方式可能像下面这样:

       1:  <Resource name="jdbc/MYDS" auth="Container" type="javax.sql.DataSource"/>  
       2:     <ResourceParams name="jdbc/HCD">  
       3:        <parameter>  
       4:           <name>username</name>  
       5:           <value>myuser</value>  
       6:        </parameter>  
       7:        <parameter>  
       8:           <name>password</name>  
       9:           <value>mypass</value>  
      10:        </parameter>  
      11:        <parameter>  
      12:           <name>driverClassName</name>  
      13:           <value>com.mysql.jdbc.Driver</value>  
      14:        </parameter>  
      15:        <parameter>  
      16:           <name>url</name>  
      17:           <value>jdbc:mysql://localhost/MYDB</value>  
      18:        </parameter>  
      19:     </ResourceParams>  
      20:  </Context> 

    实际上它应该像这样:

       1:  <Resource  
       2:     name="jdbc/MYDS"  
       3:     auth="Container"  
       4:     type="javax.sql.DataSource"  
       5:     username="myuser"  
       6:     password="mypass"  
       7:     driverClassName="com.mysql.jdbc.Driver"  
       8:     url="jdbc:mysql://localhost/MYDB"  
       9:  /> 

    不否认这样更容易阅读,还使解析更加容易。可惜这样使许多人在此遇到问题。因为连接数据源时必须根据JNDI才行,这使许多初学者在这里遇到困难。

    实际上官网有说明的:Please note that JNDI resource configuration has changed somewhat between Tomcat 5.0.x and Tomcat 5.5.x,但是没有在

    文档中说明,许多人在使用5.5或6.0时以为仍可以使用5.0的配置方法。

     ps:09年的 从csdn移过来

    Technorati Tags: tomcat,datasource,jdbc
    完结
  • 相关阅读:
    阅读笔记2
    阅读笔记1
    学习进度条
    第二阶段冲刺第七天站立会议
    第二阶段冲刺第六天站立会议
    第二阶段冲刺第五天站立会议
    阅读笔记4
    第二阶段冲刺第四天站立会议
    第一阶段意见评论
    第12周学习进度总结
  • 原文地址:https://www.cnblogs.com/linger/p/2297710.html
Copyright © 2011-2022 走看看