2012-12-26 41 views
2

我需要使用Windows身份驗證連接到SQL Server,並使用JDBC中的不同用戶帳戶。這是我使用的代碼:使用Windows身份驗證連接到使用JDBC中不同用戶帳戶的SQL Server身份驗證

static final String DB_URL = "jdbc:sqlserver://IP:port; databaseName=xyz; integratedSecurity=false; domain=abc"; 

Connection con = DriverManager.getConnection(DB_URL,USER,PASS); 

這裏是錯誤:

com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'abcd'

+0

請在這裏http://stackoverflow.com/questions/167464/can-i-connect-to-sql-server-using-windows-authentication-from-java-ee-webapp –

+0

抱歉,遲到的答覆。感謝您的迴應!我正在使用jdbc 1.2並通過sql server mangment studio我可以使用不同的用戶帳戶在'運行'中登錄到該sql服務器,當我嘗試使用上面的代碼時,它無法連接。你認爲使用jtds它可能會解決這個問題,或者我需要安裝最高版本的jdbc? – user1929593

回答

1

像通過@康斯坦丁-V-salikhov你需要設置integratedSecurity=true,如果你真的想給出問題描述使用集成身份驗證(在這種情況下,它將作爲運行應用程序的用戶進行驗證)。您還需要sqljdbc_auth.dll文件爲installed。當您的實際調用你不應該提供任何用戶名或密碼,就做這樣的事情:

Properties info = new Properties(); 
Connection con = DriverManager.getConnection(DB_URL, info); 

如果要使用SQL Server身份驗證(比如你是你的代碼示例中做的),你需要爲您的SQL Server實例啓用混合模式身份驗證。

+1

感謝您的回覆!但我想要在每次運行的Windows身份驗證中使用特定的用戶身份驗證。可能嗎? – user1929593