2010-09-10 116 views
24

我必須使用Windows身份驗證連接到SQL ServerSQL服務器 - 連接使用Windows身份驗證

的SQL Server是在機器192.168.3.6 Web服務器(客戶端)是我的機器192.168.3.10

我使用JTDS驅動程序

dbUrl=jdbc:jtds:sqlserver://192.168.3.6:1099/db_test;instance=test 
Connection con = DriverManager.getConnection(dbUrl, "", ""); 

我有用戶名和密碼的管理員用戶的SQL Server!

我也把ntlmauth.dllc:\windowsc:\windows\system32,我一直錯誤:

java.sql.SQLException: Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection.

任何想法來解決我的問題? 非常感謝您

回答

34

見JTDS FAQ http://jtds.sourceforge.net/faq.html

,你將不得不通過useNTLMv2=truedomain=yourdomain

+4

完美的事情,我有解決 dbUrl = JDBC:JTDS:SQLSERVER://192.168.3.6:1099/db_test;實例=測試; useNTLMv2 = TRUE;域=工作組 連接CON =的DriverManager.getConnection(dbUrl,DBUSER,dbPwd) 我必須使用參數useNTLMv2 = true和domain。參數域的值並不重要。它也適用於domain = pippo!我不知道如何..... :-) – 2010-09-10 10:50:42

+0

輝煌,這也解決了我的問題。 – 2011-11-08 22:16:07

+0

解決了我的問題 - 謝謝 – SuperBrook 2011-11-21 14:30:48

3

你可以做的是一樣的東西:

String url = "jdbc:jtds:sqlserver://MYPC/MYDB;instance=SQLEXPRESS"; 
Class.forName("net.sourceforge.jtds.jdbc.Driver"); 
Connection conn = DriverManager.getConnection(url); 

請確保您有JTDS。 Java構建路徑中的jar。其中'路徑'是安裝JTDS驅動程序後的SSO文件夾的位置(這是您擁有ntlmauth.dll的位置)。另外,添加「-Djava.library.path =」PATH \ JTDS \ x64 \ SSO「 。

Here是顯示瞭如何使用JTDS連接到SQL Server(以及JDBC)與Windows身份驗證很短的一步一步的指導,如果您需要更多的細節。希望它能幫助!

相關問題