java 連接sqlserver錯誤記錄下

1.錯誤:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");報錯

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

原因是沒有sqljdbc.jar包(下載地址https://www.microsoft.com/zh-cn/download/details.aspx?id=11774)

下載文件sqljdbc_6.0.8112.200_chs.tar解壓后

java 連接sqlserver錯誤記錄下


將jre8下面的sqljdbc42.jar的文件拷貝到j網站目錄下web-inf/lib下面(有人建議要重啟Eclipse)

java 連接sqlserver錯誤記錄下java 連接sqlserver錯誤記錄下


重啟后依然同樣的錯誤,可以找到對應文件右擊->構建路徑->配置構建路徑,構建后效果如下

java 連接sqlserver錯誤記錄下

2.錯誤,設定錯誤1后,出現錯誤Failed to load the sqljdbc_auth.dll

將之前下載的對應的x86/x64中的sqljdbc_auth.dll拷貝到C:\Windows\System32和Java\jdk1.8.0_144\bin下面

java 連接sqlserver錯誤記錄下


3.錯誤,解決錯誤1和錯誤2后依然出現錯

java.lang.UnsatisfiedLinkError:com.microsoft.sqlserver.jdbc.AuthenticationJNI.GetDNSName(Ljava/lang/String;Ljava/lang/String;Ljava/util/logging/Logger;)

考慮你下載sqljdbc_auth.dll和sqljdbc42.jar是否對應了,最好用官網上下載的文件

4.錯誤Login failed for user..需要檢查你的連接字符串是否正確了

運行時連接字符有integratedSecurity=true;不需要用密碼登錄

private String connStr = "jdbc:sqlserver://localhost:1433;DatabaseName=LaLa";

private String connStr = "jdbc:sqlserver://localhost:1433;DatabaseName=LaLa;";//這個可能會被默認帶上integratedSecurity=true;導致登錄失敗