2012-05-21 111 views
1

我有一個類A,它連接到本地主機上的mysql數據庫。它在Eclipse中正常工作。
然後我修改了項目,從servlet調用/調用類A,並部署到tomcat。
我得到這個異常:
找不到適用於jdbc的驅動程序:mysql:// localhost:3306/

No suitable driver found for jdbc:mysql://localhost:3306/a 

,並在出現此異常:

DriverManager.getConnection(connectionUrl, user, password); 

這是怎麼回事錯在這裏?我該如何解決這個問題?

地址:
我確定.jar在WEB-INF/lib下,這不是問題。
我想通了,問題是,我忘了添加此行:

Class.forName("com.mysql.jdbc.Driver"); 

有沒有人知道爲什麼這條線是一個Web應用程序,而不是在一個Java項目必須的?

+1

確保您在tomcat-lib文件夾或WEB-INF/lib文件夾中具有用於mysql的JDBC庫。 –

+0

粘貼您的連接代碼。 –

+1

您不需要Class.forName()調用大約八年。您必須使用非常舊的MySQL連接器版本。 – EJP

回答

4

沒有合適的驅動程序」通常意味着你已經提供給連接JDBC URL有不正確的語法或當根本沒有加載驅動程序。

當getConnection方法被調用時,DriverManager將嘗試從在那些在初始化加載和那些使用相同的類加載器作爲當前applet或應用程序加載明確地找到合適的驅動程序(使用Class.forName()

也檢查你有你的classpath mysql-jdbc.jar。我建議把.jar在物理位置到/WEB-INF/lib您的項目目錄。然後t omcat會照顧其餘的。

相關問題