1. 程式人生 > >關於java連線sql server 2008遇到的各種問題及解決辦法

關於java連線sql server 2008遇到的各種問題及解決辦法

  1. 解決java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver問題    

            學習java連線sql server 2008資料庫時候,遇到java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver問題,這是因為jdbc驅動載入不成功。據說JDK1.8及以上版本的JDK已經不帶jdbc驅動了,所以我特意去微軟官方下載了Microsoft JDBC Driver 6.0 for SQL Server,裡面包含了我們需要的驅動包和外掛。解壓後找到Java\Microsoft JDBC Driver 6.0 for SQL Server\sqljdbc_6.0\chs\jre8\sqljdbc42.jar,(因為我的JDK是1.8,所以選jre8目錄)將sqljdbc42.jar複製到你專案裡的WEB-INF下的lib下面,這時還不能使用,編譯器還找不到它。然後點 : 專案---屬性----Java構建路徑---庫----新增jar  將我們的sqljdbc42.jar匯入即可。

2.解決Tomcat - java.lang.UnsupportedClassVersionError:Unsupported major.minor version 52.0 (unable to load class com.microsoft.sqlserver.jdbc.SQLS問題

JDK的版本號對應:


J2SE 9 = 53
J2SE 8 = 52
J2SE 7 = 51
J2SE 6.0 = 50
J2SE 5.0 = 49
JDK 1.4 = 48
JDK 1.3 = 47
JDK 1.2 = 46
JDK 1.1 = 45
由此可知,上述錯誤是由於jTDS需要jdk8

由於我的MyEclipse預設jre是1.6,所以我們要進專案---屬性----Java構建路徑---庫-中把jre1.6刪除,匯入我們需要的jre1.8路徑。

3.解決警告: Failed to load the sqljdbc_auth.dll cause : no sqljdbc_auth in java.library.path問題

因為sqljdbc.auth.dll沒找到,要把它所有目錄放到系統變數Path或直接放到windows\System32下,不能把它打包到jar裡,也不是放在classpath上。(sqljdbc.auth.dll在上述Microsoft JDBC Driver 6.0 for SQL Server\sqljdbc_6.0\chs\auth路徑下),問題解決。

上程式碼:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");  //1.載入驅動程式

conn=(Connection)DriverManager.getConnection("jdbc:sqlserver://localhost:1433;integratedSecurity=true;DatabaseName=myJsp");//使用windows身份驗證