Windows統合認証を使用してSQL Serverデータベースに接続する必要のある2つのJava Webアプリケーションがあります。ネイティブライブラリsqljdbc_auth.dllが既に別のクラスローダにロードされています
ロードされた最初のものは正常に動作しますが、もう一つは例外がスローされます:
- :私はフォルダのいずれかにsqljdbc_auth.dllを置いたときにが
Native Library sqljdbc_auth.dll already loaded in another classloader
上記のエラーが発生しますC:\ WINDOWS \ system32に
- C \:\プログラムファイル\ Apache Software Foundationの\ Tomcatの7.0 \ binに\
私は、以下のいずれかのフォルダにsqljdbc_auth.dllを配置する場合:
-
各Webアプリケーションの
- /WEB-INF/libディレクトリ
- C:\プログラムファイル\ Apache Software Foundationの\ Tomcatの7.0 \ libに\ :私はドライバをロードするためにこのコードを使用しています
Failed to load the sqljdbc_auth.dll cause :- no sqljdbc_auth in java.library.path
:
両方のアプリケーションは例外をスロー
Class.forName("jdbc:sqlserver://<HOST>;databaseName=<DBNAME>;integratedSecurity=true;");
どうすれば解決できますか?
私は私の質問で言ったように、DLLをtomcat 7.0/libに入れようとしました。あなたの答えの後に、私はtomcat 7.0/lib * s *を作成し、そこにDLLを置いて、私は同じエラーが発生しました: sqljdbc_auth.dllのロードに失敗しました原因: - java.library.pathのno sqljdbc_auth – Gustavo
私は、リンクの前にTomcat Classloaderについて読んでください: http://tomcat.apache.org/tomcat-7.0-doc/class-loader-howto.html しかし、Tomcatは.jarファイルだけをロードするようです.dllファイルではありません。 – Gustavo
これを明確にするために、Tomcat/binフォルダにdllを、Tomcat/libフォルダにjdbc ** JAR **ファイルを置く必要があります(残念ながら私はlib上の余分なものを間違えています。 ) –