我有2個需要使用Windows集成認證連接到SQL Server數據庫的java web應用程序。本機庫sqljdbc_auth.dll已在另一個類加載器中加載
加載的第一個工作正常,但第二個引發異常:
- :
Native Library sqljdbc_auth.dll already loaded in another classloader
當我放置在sqljdbc_auth.dll其中一個文件夾上面的錯誤發生C:\ WINDOWS \ SYSTEM32 \
- C:\ Program Files文件\ Apache軟件基金會\ Tomcat的7.0 \ BIN \
如果我放在sqljdbc_auth.dll在下面的文件夾之一:
- /WEB-INF/lib中每個Web應用程序的目錄
- C:\ Program Files文件\ Apache軟件基金會\ 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中沒有sqljdbc_auth – Gustavo
I'已經閱讀了鏈接中的Tomcat Classloader: http://tomcat.apache.org/tomcat-7.0-doc/class-loader-howto.html 但是,似乎Tomcat只加載了.jar文件,而不是.dll文件。 – Gustavo
好的,爲了澄清,你需要將dll放在Tomcat/bin文件夾和Tomcat/lib文件夾中的jdbc ** JAR **文件中(對不起,我在lib上的額外s錯誤,我現在已經糾正) –