问题
I am trying to connect Sql Server Data Base using windows authentication from my application using JTDS driver but i got following error
SSO Failed: Native SSPI library not loaded. Check the java.library.path system property.
Following are the scenarios where i tried to resolve but still something is missing..
- i have added ntlmauth.dll in system directory and it works fine for Sql server 2005.
- But the same thing i tried for Sql Server 2008 R2 and Denali but it gives me the same error as i mentioned above
- Also i considered bit i mean i copied ntlmauth.dll from x64\SSO\ path in system directory.
I an confused why this is not working for Sql Server 2008 R2 and Denali.
回答1:
Try by placing the ntlmauth.dll
file in the bin
folder of your Java Runtime Environment (e.g. C:\Program Files\Java\jre7\bin
).
Be sure to match the "bitness" (32 bit or 64 bit) of the DLL with the JVM bitness.
I ran into the same issue using SQL Server Express 2008 R2 and this MSDN SQL Server Forum Article recommended this resolution, which worked for me.
回答2:
Apart from putting it into your JRE directly, you can also just specify the java.library.path
as such:
-Djava.library.path=C:\jtds-1.3.1-dist\x64\SSO
The above directory would then contain the ntlmauth.dll
file
回答3:
In addition to DeChrist's response, I had to add the same dll file in the bin
folder of C:\Program Files\Java\jdk1.8.0_91\jre\bin
also. In that case, it worked for me.
来源:https://stackoverflow.com/questions/6356612/jtds-driver-not-working-for-sql-server-2008r2-and-denali-native-sspi-library-not