2012-07-12 121 views
5

我當前登錄到Active Directory域A上的用戶計算機,並且需要通過VB6訪問位於域B中的MSSQL 2000中的數據庫。用戶在兩個Active Directory服務器中都有帳戶。 Active Directory域不相關或鏈接。在不同的Active Directory服務器中訪問數據庫

在使用以下MSSQL的連接字符串的那一刻我真的:

gcnnBD.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=" & gsDataBase & ";Data Source=" & gsServidor & ";Connect Timeout=" & gsTimeOutconnection string. 

是否有可能通過連接字符串來連接到域B,如果即時通訊登錄到域A?

連接字符串是什麼樣的?

歡迎任何建議。

回答

2

此應用程序是否需要訪問域A上的網絡資源?

由於集成安全性,必須使用域憑據啓動該過程。

假設沒有信任關係,要做到這一點,可以使用RUNAS/NETONLY讓運行的程序爲所有網絡工作使用另一個域憑證(這就是爲什麼我問你是否也將在域A上工作從那個節目)。 http://ss64.com/nt/runas.html

其實,我修改了一個程序,我寫,以便等效的Win32 API調用來重新啓動本身,以確保它與域憑據推出後,我在幾年前問這個問題:How to build RUNAS /NETONLY functionality into a (C#/.NET/WinForms) program?

2

是的,但由於您使用的是集成身份驗證,因此域B需要信任域域A.如果您對此術語不熟悉,那麼您的域管理員應該可以提供幫助。您可能還需要限定服務器名稱,例如domain \ server或server.domain。

+0

沒有集成的認證和完全限定名稱,連接字符串會是什麼樣子。 – 2012-07-12 17:45:57

+0

如果沒有集成身份驗證,您將失去「集成安全性= SSPI」,而是擁有「用戶名= xxx;密碼= xxx」,其中這些是合適的SQL Server登錄憑據。 – 2012-07-12 18:43:42

+0

用戶名是否包含完全限定名?用戶名=域\服務器1 \用戶1;密碼= xxx – 2012-07-12 19:27:40

2

這是我使用的連接字符串的一個示例,以便從另一個域上的不同服務器數據庫訪問SSIS。 Data Source = [IP Address]; User ID = [Windows Log In]; Password = [Your Password]; Initial Catalog = [Your Database Name]; Provider = SQLNCLI10.1

希望有幫助。

相關問題