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

由於這個問題折騰了以上午,終於解決了,作下記錄:java

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

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

出了兩個問題:sqlserver

一、我原來的鏈接語句爲網站

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


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

緣由是上面sqlserver2000的鏈接方式,而下面是sqlserver05或者08的鏈接方式,這個地方要注意!ci


2,改完後,我發現仍是有問題,百思不得其解,忽然發現我下載的鏈接驅動包裏面有兩個jar文件,而我使用的是sqljdbc.jar,想一想,換一個會不會好,後來換成了另外一個sqljdbc4.jar,完美解決,緣由以下:文檔


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


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
相關文章
相關標籤/搜索