2010-11-04 93 views
1

我發現了一些類似的問題,但沒有有用的答案。 我需要從我的Java應用程序操作一個名爲PDPJ_Student的MS SQL Server數據庫,我無法連接到它。我收到以下錯誤:使用Windows身份驗證將Java連接到MS SQL Server數據庫

[Microsoft] [用於JDBC的SQLServer 2000驅動程序] [SQLServer]用戶'LAPTOP-TITI/Titi'的登錄失敗。用戶未與可信的SQL Server連接相關聯。

和我的消息來源是這樣的:

Connection con = null; 
try{ 
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 
    con = DriverManager.getConnection("jdbc:microsoft:sqlserver://LAPTOP-TITI;DatabaseName=PDPJ_Student", "LAPTOP-TITI/Titi", ""); 
    } 
    catch(Exception e){ 
    System.out.println("Error at connection"); 
    e.printStackTrace(); 
    } 

當我啓動MS SQL Server,請在authenticatin,服務器名稱說:筆記本電腦TITI;並將身份驗證設置爲Windows身份驗證。用戶名字段說LAPTOP-TITI/Titi,但它被禁用,以及密碼字段,它是空的。

我也曾嘗試:

con = DriverManager.getConnection("jdbc:microsoft:sqlserver://LAPTOP-TITI;DatabaseName=PDPJ_Student", integratedSecurity=true); 

,但仍然沒有..

我在做什麼錯?你能給我一些指示嗎?

PS我不能改變我的身份驗證類型,即使我嘗試更改爲SQL Server身份驗證,它不`噸讓我產生任何新用戶

回答

1

你的問題沒有提及是否您的客戶機運行Windows或非Windows。 This topic on MSDN表明,如果您的客戶端使用的是Linux,則需要購買DataDirect驅動程序才能使Kerberos身份驗證正常運行。如果你在Windows上,應該可以使用微軟的JDBC驅動程序。

+0

它運行在Windows XP下,我將項目的類路徑設置爲msbase.jar,mssqlserver.jar和msutil.jar ....這應該足以讓Java與MS SQL Server一起工作 – Liviu 2010-11-04 18:08:56