SQL: Cannot create JDBC driver of class '' for connect URL


使用數據庫數據源的web 項目,發布后,訪問數據庫500報錯:

瀏覽器端:

 

 

控制台:

數據庫連接池在不啟動Tomcat的情況下,測試類通過,沒有問題。

一旦在服務器發布,就會出現問題,考慮是Tomcat的連接池配置除了問題。

錯誤提示是:找不到jdbc驅動,但是提示信息里的class值為null,所以,應該是Tomcat沒有找到驅動

1、檢查是否有jar包:存在,沒有問題。

2、檢查jar包位置:是在src 下。后來轉移到web下,還是沒效果。網上資料說:在tomcat6.0中設置jdbc數據源時,jdbc驅動要放在TOMCAT_HOME/lib目錄下,絕不能放在web-inf/lib/下面:否則tomcat就會報錯說找不到驅動。eclipse中的webcontent是虛擬路徑。

3、配置文件:缺失。

 

解決方案:

增加了配置文件:

content.xml

 1 <Context>
 2     <Resource  3     auth="Container"
 4  driverClassName="com.mysql.jdbc.Driver"
 5  maxActive="100"
 6  maxIdle="40"
 7  maxWait="4000"
 8  name="jdbc/fish"
 9  username="root"
10  password="root"
11  type="javax.sql.DataSource"
12  url="jdbc:mysql://localhost:3306/fish?useUnicode=true&amp;characterEncoding=UTF-8"
13     />         
14 </Context>

運行成功。

 

 

 

 

轉載 關於Tomcat6 的數據源配置:

tomcat6.0 數據庫連接池配置問題:

    連接池配好后,啟動tomat后,輸入項目系統的登錄名和密碼,報

Cannot create JDBC driver of class '' for connect URL 'null' 錯誤。

經檢查,發現是連接池沒有配好。

    現把連接池配置步驟重新整理一遍。(以ORACLE為例)

   1.在tomcat的lib目錄下放入數據庫驅動。ORACLE的驅動為ojdbc14.jar。

   2.修改tomcat目錄下的conf目錄下的server.xml文件。

      在<Host></Host>節點內,增加如下代碼

Xml代碼  收藏代碼
  1. <Context path="/testApp" docBase="testApp" debug="1" reloadable="flase" crossContext="true">  
  2.         <Resource name="jdbc/devDS" type="javax.sql.DataSource" password="shxt" driverClassName="oracle.jdbc.driver.OracleDriver" maxIdle="2" maxWait="5000" username="shxt" url="jdbc:oracle:thin:@192.168.0.133:1521:testApp" maxActive="100"/>  
  3. </Context>    

   3.在tomcat目錄下的conf目錄下的Catalina目錄下的localhost目錄(如果你server.xml文件中HOST節點的name是localhost)下,增加testApp.xml文件。文件內容如下:

Xml代碼  收藏代碼
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <Context antiResourceLocking="false" privileged="true" useHttpOnly="true" >  
  3.     <ResourceLink name="jdbc/devDS" global="jdbc/devDS" type="javax.sql.DataSource"/>  
  4.   
  5. </Context>  

   以上為tomcat的配置完成,下面為項目配置的修改。

   4.修改項目目錄下的web.xml文件。增加jndi信息

Xml代碼  收藏代碼
  1. <!-- 數據庫JNDI -->  
  2.     <resource-ref>  
  3.         <description>DB Connection</description>  
  4.         <res-ref-name>jdbc/devDS</res-ref-name>  
  5.         <res-type>javax.sql.DataSource</res-type>  
  6.         <res-auth>Container</res-auth>  
  7.     </resource-ref>  

   5.修改hibernate.cfg.xml信息(如果使用了hibernate)

  

Xml代碼  收藏代碼
  1. <property name="connection.datasource">java:comp/env/jdbc/devDS</property>  

  到此,tomcat6的連接池配置信息全部完成。

  再登錄項目,上面的那個錯誤就不再出現。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM