不同的域上的SQL Server在Windows中,我只能連接到SQL Server上的不同的域如下:連接到使用SQL Server Management Studio中(SSMS)通過JDBC
C:\> runas /netonly /user:differentDomainName\aUserName "C:\Program Files (x86 )\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe -S anIpAddress"
哪有我通過JDBC完成了這個連接?我一直在使用微軟的sqljdbc 4.2驅動程序下面的連接字符串嘗試:
jdbc:sqlserver://anIpAddress:1433;database=MAIN;user=differentDomainName\\aUserName;password=pass
我收到以下錯誤:
com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'differentDomainName\aUserName'
這是我收到如果我開始了同樣的錯誤SSMS不使用runas並在SSMS 2012的「連接到服務器」對話框中鍵入不同的DomainName \ aUserName作爲登錄名。
附加信息:J DBC連接將在Linux上運行的應用程序中建立。因此,使用runas
運行應用程序不是一個不幸的選擇。
的另一種嘗試: 我也嘗試過使用JTDS 1.3.1與下面的連接字符串:
jdbc:jtds:sqlserver://anIpAddress:1433;databaseName=MAIN;domain=differentDomainName;user=aUserName;password=pass
因爲aUserName設置僅適用於Windows身份驗證。不幸的是,這將產生以下異常:
o.a.tomcat.jdbc.pool.ConnectionPool : Unable to create initial connections of pool.
通過 java.sql.SQLException: I/O Error: DB server closed connection.
許可信息如下:我無法修改SQL Server計算機上的任何內容包括SQL Server中的任何配置。 「aUserName」帳戶映射到SQL Server只讀Windows身份驗證用戶。
前段時間我做了類似於jTDS的[這個答案](http://stackoverflow.com/a/26465897/2144390)。也許它可能會給你一些想法來嘗試其他事情。 –
謝謝。我無法修改SQL Server計算機上的任何內容,包括SQL Server中的任何配置。用戶被設置爲只讀用戶。我嘗試使用您提供的代碼片段(替換爲我的環境的IP地址,用戶名和密碼),仍然收到OP中記錄的相同SQL異常。 – James
請參閱此[SO帖子](http:// stackoverflow。com/questions/14945075/receiving-sqlexception-login-failed-for-user-connecting-to-sql-server-2008)描述Windows身份驗證以及所需的.jar/.dll文件。另外,考慮傳遞用戶名和密碼作爲參數(不在連接字符串中):'DriverManager.getConnection(connectionStr,user,password)'。 – Parfait