程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> sql server-JDBC連接SQL Server數據庫

sql server-JDBC連接SQL Server數據庫

編輯:編程綜合問答
JDBC連接SQL Server數據庫

用windows身份驗證,連接SQL Server數據庫時,發生了異常。在網上找了,沒找到什麼有用的結論,特來請教。

這是代碼:

private static final String DRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static final String URL="jdbc:sqlserver://localhost;integratedSecurity=true;Database=master";   
static{
    try {
        Class.forName(DRIVER);
        System.out.println("獲取驅動成功");
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }
}
public static Connection getConnection() throws SQLException{

    Connection conn=DriverManager.getConnection(URL);
    return conn;
}

提示異常:
Exception in thread "main" java.lang.UnsatisfiedLinkError: com.microsoft.sqlserver.jdbc.AuthenticationJNI.GetDNSName(Ljava/lang/String;[Ljava/lang/String;Ljava/util/logging/Logger;)I
at com.microsoft.sqlserver.jdbc.AuthenticationJNI.GetDNSName(Native Method)
at com.microsoft.sqlserver.jdbc.AuthenticationJNI.GetDNSName(AuthenticationJNI.java:109)
at com.microsoft.sqlserver.jdbc.AuthenticationJNI.(AuthenticationJNI.java:63)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:2229)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:2220)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1326)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:243)
at com.util.DBUtilWindows.getConnection(DBUtilWindows.java:30)
at com.util.DBUtilWindows.main(DBUtilWindows.java:65)

最佳回答:


有關 Microsoft JDBC Driver for SQL Server 中還允許應用程序使用集成身份驗證連接到數據庫的新增功能的說明,請參閱使用 Kerberos 集成身份驗證連接到 SQL Server。

JDBC 驅動程序支持通過 integratedSecurity 連接字符串屬性在 Windows 操作系統上使用“類型 2”集成身份驗證。若要使用集成身份驗證,請將 sqljdbc_auth.dll 文件復制計算機中 Windows 系統路徑下的 JDBC 驅動程序安裝目錄中。

連接到遠程服務器上的默認端口:

jdbc:sqlserver://localhost:1433;databaseName=AdventureWorks;integratedSecurity=true;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved