java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver

因爲這個問題折騰了以上午,終於解決了,做下記錄:

錯誤提示爲:java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver

在出這個問題前,首先確保連接的代碼不存在語法上的錯誤,數據庫的登錄名以及密碼都正確,好了,下面開始:

出了兩個問題:

1、我原來的連接語句爲

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection conn=DriverManager.getConnection(
"jdbc:microsoft:sqlserver://localhost:1433;databasename=XX","sa","123");


改成一下即可
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn=DriverManager.getConnection(
"jdbc:sqlserver://localhost:1433;databasename=XX","sa","123");

原因是上面sqlserver2000的連接方式,而下面是sqlserver05或者08的連接方式,這個地方要注意!


2,改完後,我發現還是有問題,百思不得其解,突然發現我下載的連接驅動包裏面有兩個jar文件,而我使用的是sqljdbc.jar,想想,換一個會不會好,後來換成了另一個sqljdbc4.jar,完美解決,原因如下:


以下是msdn中 JDBC Driver的系統要求中的解釋:我們清楚的看到 sqljdbc.jar 類庫要求使用 5.0 版的 Java 運行時環境 (JRE)。連接到數據庫時,在 JRE 6.0 上使用 sqljdbc.jar 會引發異常。而我的jre爲6.0的,自然報異常


JAR

說明

sqljdbc.jar

sqljdbc.jar 類庫提供對 JDBC 3.0 的支持。

sqljdbc.jar 類庫要求使用 5.0 版的 Java 運行時環境 (JRE)。連接到數據庫時,在 JRE 6.0 上使用

 sqljdbc.jar引發異常。

 注意:
JDBC 驅動程序不支持 JRE 1.4。使用 JDBC Driver 時必須將 JRE 1.4 升級至 JRE 5.0 或 JRE 6.0。
在某些情況下,您可能需要重新編譯應用程序,因爲它可能與 JDK 5.0 或更高版本不兼容。
有關詳細信息,請參閱 Sun Microsystems 網站上的文檔。

sqljdbc4.jar

sqljdbc4.jar 類庫提供對 JDBC 4.0 的支持。它不僅包括 sqljdbc.jar 的所有功能,

還包括新增的 JDBC 4.0 方法。

sqljdbc4.jar 類庫要求使用 6.0 版的 Java 運行時環境 (JRE)。在 JRE 1.4 或 5.0 上

使用 sqljdbc4.jar 會引發異常。

注意:
如果應用程序必須在 JRE 6.0 上運行,即使該應用程序不使用 JDBC 4.0 功能
,也應使用 sqljdbc4.jar

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章