2011-01-07 14 views
11

Próbuję połączyć się z serwerem SQL mojej firmy przy użyciu sterownika JDBC Microsoft SQL Server 2005. To właśnie mój ciąg połączenia wygląda następująco:Jak mogę połączyć się z serwerem SQL za pomocą zintegrowanego zabezpieczenia ze sterownikiem JDBC?

jdbc:sqlserver://HOSTNAME;integratedSecurity=true;database=DATABASE; 

Do którego kierowca zgłasza wyjątek:

Invalid integratedSecurity property value:true 

Użycie "tak" zamiast tego daje inny komunikat o błędzie, który wskazuje "tak", nie jest poprawną opcją dla właściwości boolowskiej.

W jaki sposób łączysz się za pomocą zintegrowanych zabezpieczeń?

+0

Czy sqljdbc_auth. dll w twoim folderze bin/lib? –

+0

@jms Zabawna historia: to naprawdę trudno powiedzieć. Z jakiegoś tajemniczego powodu nie mam uprawnień do wyświetlania zawartości katalogów sterowników JDBC, ale mogę uzyskać dostęp do plików wewnątrz, używając ich ścieżki. – zneak

+0

@jms W sterowniku JDBC nie było katalogu 'auth'. Właśnie dostałem wersję 3.0 (zamiast wersji 1.0, która pojawia się jako pierwsza). Przypuszczam, że będzie lepiej. – zneak

Odpowiedz

14

check to instructions, także - czy jesteś w tej samej domenie (wywołujący i serwer?)

Cytowanie stamtąd:

Sterownik JDBC obsługuje użycie typu 2 zintegrowanego uwierzytelniania na operacyjny Windows systemów za pośrednictwem właściwości ciągów połączenia integratedSecurity. Aby użyć uwierzytelniania zintegrowanego, skopiuj plik sqljdbc_auth.dll do katalogu w ścieżce systemowej systemu Windows na komputerze, na którym jest zainstalowany sterownik JDBC.

W sqljdbc_auth.dll pliki są instalowane w następującej lokalizacji:

<installation directory>\sqljdbc_<version>\<language>\auth\ 

Uwaga:

Jeśli używasz 32-bitowej Java Virtual Machine (JVM), użyj sqljdbc_auth.dll plik w folderze x86 , nawet jeśli system operacyjny jest wersją x64. Jeśli używasz 64-bitowej maszyny JVM na procesorze x64, użyj pliku sqljdbc_auth.dll w folderze x64 . Jeśli używasz 64-bitowej maszyny JVM na procesorze IA-64, użyj pliku sqljdbc_auth.dll w folderze IA64 .

Alternatywnie można ustawić właściwość systemową java.libary.path, aby określić katalog sqljdbc_auth.dll. Na przykład, jeśli sterownik JDBC jest zainstalowany w domyślnym katalogu, można określić lokalizację DLL za pomocą następujących maszyn wirtualnych (VM) argument, gdy aplikacja Java jest uruchamiany:

-Djava.library.path=C:\Microsoft SQL Server 2005 JDBC Driver\sqljdbc_<version>\enu\auth\x86 
+0

Wyłącza sterownik JDBC Google pokazuje jako pierwszy jest mocno nieaktualny. Uaktualniłem i postępowałem zgodnie z instrukcjami i działało idealnie. – zneak

Powiązane problemy