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。


免責聲明!

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



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