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

发布于 2024-11-15 15:57:25 字数 446 浏览 7 评论 0原文

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

SSO 失败:本机 SSPI 库不存在 已加载。检查java.library.path 系统属性。

以下是我尝试解决但仍然缺少某些内容的情况。

  1. 我已在系统目录中添加了 ntlmauth.dll,它对于 Sql Server 2005 运行良好。
  2. 但是我对 Sql Server 2008 R2 和 Denali 尝试了同样的操作,但它给出了我遇到了与上面提到的相同的错误
  3. 我也考虑了一点我的意思是我从系统目录中的 x64\SSO\ 路径复制了 ntlmauth.dll 。

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

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

  1. i have added ntlmauth.dll in system directory and it works fine for Sql server 2005.
  2. But the same thing i tried for Sql Server 2008 R2 and Denali but it gives me the same error as i mentioned above
  3. 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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

幼儿园老大 2024-11-22 15:57:25

尝试将 ntlmauth.dll 文件放置在 Java 运行时环境的 bin 文件夹中(例如 C:\Program Files\Java\jre7\bin >)。

确保 DLL 的“位数”(32 位或 64 位)与 JVM 位数相匹配。

我使用 SQL Server Express 2008 R2 和此 MSDN SQL Server 论坛文章推荐了这个解决方案,它对我有用。

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.

荒人说梦 2024-11-22 15:57:25

除了直接将其放入 JRE 之外,您还可以仅指定 java.library.path,如下所示:

-Djava.library.path=C:\jtds-1.3.1-dist\x64\SSO

上述目录将包含 ntlmauth.dll 文件

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

葬花如无物 2024-11-22 15:57:25

除了 DeChrist 的响应之外,我还必须在 C:\Program Files\Java\jdk1.8.0_91\jre\binbin 文件夹中添加相同的 dll 文件。在那种情况下,它对我有用。

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.

风渺 2024-11-22 15:57:25

您可以通过在此位置添加 ntlmauth.dll 文件来解决您的问题
C:\Program Files\Java\jre7\bin

从这里下载文件夹
下载链接

另外,Sql 还可以从中获取一些提示,
C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER02\MSSQL\Log

You can solve your problem by adding ntlmauth.dll file at this location
C:\Program Files\Java\jre7\bin

Download folder from here
Download link

Also Sql get some hints from,
C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER02\MSSQL\Log

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文