2010-09-06 84 views
1

我一直在試圖通過jtds jdbc連接到一對SQL服務器的Java應用程序。我必須通過Windows身份驗證進行連接。JTDS連接問題到SQL Server - 2000年,但不2005 2005年工作

指定的連接字符串是:

String connectionString = _"jdbc:jtds:sqlserver://"+server+":"+port+"/"+database+";domain="+domain;_ 

,我通過獲取連接:

con = java.sql.DriverManager.getConnection(url, _username, _password); 

這工作我的SQL Server 2000上的罰款,但沒有在SQL Server 2005。我SQL Server 2005中,我收到以下錯誤消息:

java.sql.SQLException:用戶'登錄失敗。用戶未與可信的SQL Server連接相關聯。

看起來有點可笑,因爲異常中的用戶是空白的,但參數中指定的用戶名不是空白。

我有一種感覺,它可能是與NTLM和Windows身份驗證,因爲它的工作原理,當我嘗試使用SQL身份驗證(ie.without域屬性)登錄

回答

0

出現這種情況,因爲SQL Server 2005/2008安裝它們後有不同的默認值。您仍然需要:

  1. 在您的Windows防火牆中打開端口1433。
  2. 在端口1433(在SQL配置管理器)TCP監聽器(您可以啓用/禁用監聽器爲每個IP地址你的機器有)
  3. 啓用SA帳戶(或創建自己的SQL帳戶)(此還假定您未使用集成身份驗證)
  4. 啓用您的實例的混合身份驗證。

如果這不起作用,然後告訴我們是什麼導致你使用Microsoft JDBC驅動程序,版本3.x或更高...