2014-05-22 19 views
7

Próbowałem bez żadnego sukcesu uzyskać najnowszą wersję Oracle SQL Developer (4.0.2), aby połączyć się z serwerem Microsoft SQL przy użyciu uwierzytelniania Windows. Pobrałem i skopiowałem plik ntmlauth.dll (a także JtdsXA.dll) z jtds-1.3.1-dist do każdej lokalizacji, o której myślę, że programista będzie go szukał, ale kiedy spróbuję skonfigurować nowe połączenie przez zakładka SQLServer, klikając opcję "Użyj uwierzytelniania systemu Windows", otrzymuję komunikat "Status: Niepowodzenie - Błąd we/wy: Niepowodzenie logowania SSO: Natywna biblioteka SSPI nie jest załadowana. Sprawdź właściwość systemową java.library.path." Mogę jednak połączyć się z bazą danych za pomocą Toad dla SQL Server lub SSMS bez żadnych problemów, ale wolałbym, jeśli to możliwe, korzystać z SQL Developer.Połączenie Oracle Developer Developer z Microsoft SQL Server

+0

http://stackoverflow.com/questions/3452/sql-client-for-mac-os-x-that-works-with-ms-sql-server – zee

+0

Badałem to nie tak dawno temu. A najlepsze, co mogę znaleźć, to wątek powyżej. http://blog.bittersweetryan.com/2012/01/using-oracles-free-sql-developer-as.html?m=1 – zee

Odpowiedz

2

Miałem dokładnie ten sam problem. W końcu udało mi się to, umieszczając ntlmauth.dll w folderze jdk\jre\bin w samym katalogu . Z jakiegoś powodu program sql-developer wysyła własny jdk, który znalazłem przeglądając. Spędziłem godziny próbując dowiedzieć się, dlaczego umieszczenie wspomnianej biblioteki DLL na różnych poziomach katalogów systemu (np. C:\Program Files\Java\jre7\bin) nie działa.

Jeśli ktoś wie, dlaczego umieszczenie ntlmauth.dll w folderze sql-developer\jdk\jre\bin zadziałało podczas umieszczania na poziomie systemu folderów jre, nie byłbym zainteresowany.

Mój OS = system Windows 2007 64-bitowych

jtds = jtds-1.2.7

0

Powód jest bardzo prosty; SQLDEVELOPER nie wie o zainstalowanym JRE na poziomie systemu. Oracle łączy SQLDEVELOPER zi bez JAVA. Jeśli pobrałeś wersję bez Java, to po pierwszym uruchomieniu aplikacji zostaniesz poproszony o podanie lokalizacji java_home. Jeśli zainstalujesz wersję SQLDEVELOPER, która już ma zainstalowaną java, to po prostu działa - bez podpowiedzi. W twoim przypadku zainstalowałeś wersję z java już zapakowanym wraz z aplikacją.

Tak więc źródłem pytania jest jre na poziomie systemu, który nie jest używany przez SQLDEVELOPER (w konkretnej instalacji), więc plik ntlmauth.dll, który umieściłeś w tym katalogu, nigdy nie jest używany.

3

Wystarczy skopiować ..\jtds-1.3.1-dist\x64\SSO\ntlmauth.dll do ->..\sqldeveloper\jdk\jre\bin folder dla systemów x64. Skopiuj-wklej także podobną zawartość folderu dla systemów x86.

+0

To naprawdę powinna być akceptowana odpowiedź. Życzyłbym sobie, aby pozwolić administratorom akceptować odpowiedzi na stare pytania bez odpowiedzi. – Jabda

Powiązane problemy