SQL Server 2008 インスタンスに接続する Java EE Web アプリケーションがあります。そのうちの 1 つを除いて、すべてのテーブルへの接続と取得に問題はありません。Tomcat ログのエラーは次のとおりです。
警告: sqljdbc_auth.dll 原因のロードに失敗しました:- java.library.path に sqljdbc_auth がありません
SQL Server 2008 インスタンスに接続する Java EE Web アプリケーションがあります。そのうちの 1 つを除いて、すべてのテーブルへの接続と取得に問題はありません。Tomcat ログのエラーは次のとおりです。
警告: sqljdbc_auth.dll 原因のロードに失敗しました:- java.library.path に sqljdbc_auth がありません
Eclipse からこれを行う場合の手順は次のとおりです。
1) C: ドライブに「sqlauth」フォルダーを作成し、dll ファイルsqljdbc_auth.dllをそのフォルダーにコピーします。
1) [実行] > [実行構成] に移動します。
2) クラスの「引数」タブを選択します
3) VM 引数に以下のコードを追加します。
-Djava.library.path="C:\\sqlauth"
4) [適用] をクリックし、[実行] をクリックします。
他の方法も試してみてください。
エラーは明らかですね。
sqljdbc_auth.dll が存在するパスを追加していません。DLL が存在するシステムを見つけて、それをクラスパスに追加します。
それでもうまくいかない場合は、DLL が存在するフォルダー (\Microsoft SQL Server JDBC Driver 3.0\sqljdbc_3.0\enu\auth\x86 を想定しています) を PATH 変数に追加します。
ここでも、ant または cmd を使用する場合は、 -Djava.library.path=[MS_SQL_AUTH_DLL へのパス] を使用してパスを明示的に指定する必要があります。
解決するために、次のことを行いました。
sqljdbc_auth.dll
:C:\Windows\System32