9

JTDS ドライバーを使用してアプリケーションから Windows 認証を使用して SQL Server データベースに接続しようとしていますが、次のエラーが発生しました

SSO に失敗しました: ネイティブ SSPI ライブラリがロードされていません。java.library.path システム プロパティを確認してください。

以下は、私が解決しようとしたが、まだ何かが欠けているシナリオです..

  1. システム ディレクトリに ntlmauth.dll を追加しましたが、Sql サーバー 2005 で正常に動作します。
  2. しかし、Sql Server 2008 R2 と Denali で同じことを試しましたが、上記と同じエラーが表示されます
  3. また、システム ディレクトリの x64\SSO\ パスから ntlmauth.dll をコピーしたことを意味します。

これが Sql Server 2008 R2 と Denali で機能しない理由がわかりません。

4

3 に答える 3

15

ntlmauth.dllファイルをbinJava ランタイム環境のフォルダー (例: )に配置してみてくださいC:\Program Files\Java\jre7\bin

DLL の「ビット数」(32 ビットまたは 64 ビット) と JVM のビット数を必ず一致させてください。

SQL Server Express 2008 R2 を使用して同じ問題に遭遇しました。このMSDN SQL Server フォーラムの記事では、この解決策が推奨されていました。

于 2012-01-06T14:07:27.873 に答える
4

JRE に直接配置する以外に、次のjava.library.pathように指定することもできます。

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

上記のディレクトリには、ntlmauth.dllファイルが含まれます

于 2013-06-28T12:00:14.043 に答える
0

DeChrist の応答に加えて、同じ dll ファイルを のbinフォルダーにC:\Program Files\Java\jdk1.8.0_91\jre\binも追加する必要がありました。その場合、それは私のために働いた。

于 2016-11-10T18:05:17.973 に答える