2012-07-12 9 views
5

Jestem obecnie zalogowany do komputera użytkowników w domenie Active Directory A i muszę uzyskać dostęp do bazy danych w MSSQL 2000 znajdującej się w domenie B za pośrednictwem VB6. Użytkownik ma konta na obu serwerach Active Directory. Domeny Active Directory nie są powiązane ani powiązane.Uzyskiwanie dostępu do bazy danych w różnych serwerach Active Directory

W tej chwili I`m stosując następujący ciąg połączenia MSSQL:

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

Czy możliwe jest podłączenie do domeny B poprzez ciąg połączenia, jeśli im zalogowany do domeny?

Jak wyglądałby ciąg połączenia?

Wszelkie sugestie są mile widziane.

Odpowiedz

2

Czy ta aplikacja musi w ogóle uzyskać dostęp do zasobów sieciowych w domenie A?

Ze względu na zintegrowane zabezpieczenia proces musi zostać uruchomiony z poświadczeniami domeny.

Zakładając, że nie ma relacji zaufania, aby to zrobić, możesz użyć RUNAS/NETONLY, aby uruchomić program, korzystając z innych poświadczeń domeny dla WSZYSTKICH prac sieciowych (dlatego też pytam, czy będziesz pracował również w domenie A z tego programu). http://ss64.com/nt/runas.html

W rzeczywistości, zmodyfikowany program, który napisałem na ożywienie się z równoważnej Win32 wywołanie API w celu zapewnienia, że ​​została uruchomiona z poświadczeniami domeny po poprosiłem to pytanie kilka lat temu: How to build RUNAS /NETONLY functionality into a (C#/.NET/WinForms) program?

2

Tak, ale skoro używasz zintegrowanego uwierzytelniania, Domena B będzie musiał zaufanie Domain A. Jeśli infamiliar z tym terminem, twoi administratorzy domen powinny być w stanie pomóc. Prawdopodobnie będziesz również potrzebował zakwalifikować nazwę serwera, jako domena \ serwer lub serwer.domena.

+0

Jak wyglądałby ciąg połączenia bez zintegrowanej autoryzacji i pełnej nazwy. –

+0

Bez zintegrowanego uwierzytelniania straciłbyś "Integrated Security = SSPI" i zamiast tego miałbyś 'User name = xxx; Password = xxx', gdzie są to poświadczenia odpowiedniego logowania do programu SQL Server. –

+0

Czy nazwa użytkownika zawiera w pełni kwalifikowaną nazwę? Nazwa użytkownika = Domena \ Serwer1 \ Użytkownik1; Hasło = xxx –

2

ten jest przykładem ciągu połączenia, którego używam, aby uzyskać dostęp SSIS z różnych baz danych serwerów w innej domenie. Źródło danych = [adres IP], identyfikator użytkownika = [logowanie systemu Windows], hasło = [twoje hasło], katalog początkowy = [nazwa twojej bazy danych]; dostawca = SQLNCLI10.1

Mam nadzieję, że to pomaga.

Powiązane problemy