JTDS 驱动程序不适用于 Sql Server 2008R2 和 Denali Native SSPI 库未加载.检查 java.library.path 系统属性

我正在尝试使用 JTDS 驱动程序从我的应用程序中使用 Windows 身份验证连接 Sql Server 数据库,但出现以下错误

I am trying to connect Sql Server Data Base using windows authentication from my application using JTDS driver but i got following error

SSO 失败:本机 SSPI 库没有加载.检查 java.library.path系统属性.

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..

  1. 我在系统目录中添加了 ntlmauth.dll,它在 Sql server 2005 上运行良好.
  2. 但是我为 Sql Server 2008 R2 和 Denali 尝试了同样的事情,但它给了我与上面提到的相同的错误
  3. 我也考虑了一下,我的意思是我从系统目录中的 x64SSO 路径复制了 ntlmauth.dll.

我很困惑为什么这不适用于 Sql Server 2008 R2 和 Denali.

I an confused why this is not working for Sql Server 2008 R2 and Denali.

推荐答案

尝试将 ntlmauth.dll 文件放在 Java 运行时环境的 bin 文件夹中(例如C:Program FilesJavajre7in).

Try by placing the ntlmauth.dll file in the bin folder of your Java Runtime Environment (e.g. C:Program FilesJavajre7in).

请务必将 DLL 的位数"(32 位或 64 位)与 JVM 位数匹配.

Be sure to match the "bitness" (32 bit or 64 bit) of the DLL with the JVM bitness.

我在使用 SQL Server Express 2008 R2 时遇到了同样的问题,这个 MSDN SQL Server 论坛文章 推荐了此解决方案,对我有用.

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.

相关文章