Ich habe 2 Java-Web-Anwendungen, die eine Verbindung zur SQL Server-Datenbank mit Windows integrierte Authentifizierung herstellen müssen.Native Bibliothek sqljdbc_auth.dll bereits in einem anderen Klassenlader geladen
Die erste, die geladen wird, funktioniert gut, aber der zweite wirft die Ausnahme:
Native Library sqljdbc_auth.dll already loaded in another classloader
Der obige Fehler tritt auf, wenn ich die sqljdbc_auth.dll in einem der Ordner platzieren:
- C: \ WINDOWS \ system32 \
- C: \ Programme \ Apache Software Foundation \ Tomcat 7.0 \ bin \
Wenn ich stelle die sqljdbc_auth.dll in einem der Ordner unter:
- /WEB-INF/lib jeder Web-Anwendung
- C: \ Programme \ Apache Software Foundation \ Tomcat 7.0 \ lib \
Beiden Anwendungen werfen die Ausnahme:
Failed to load the sqljdbc_auth.dll cause :- no sqljdbc_auth in java.library.path
ich diesen Code verwenden den Treiber zu laden:
Class.forName("jdbc:sqlserver://<HOST>;databaseName=<DBNAME>;integratedSecurity=true;");
Wie kann ich es lösen?
Wie ich in meiner Frage gesagt habe, habe ich versucht, die DLL in tomcat 7.0/lib vor zu stellen. Nach deiner Antwort habe ich den Tomcat 7.0/lib * s * erstellt und die DLL dorthin gelegt, und ich habe denselben Fehler bekommen: Fehler beim Laden der sqljdbc_auth.dll Ursache: - nein sqljdbc_auth in java.library.path – Gustavo
I ' lese über den Tomcat Classloader vorher in den Link: http://tomcat.apache.org/tomcat-7.0-doc/class-loader-howto.html Aber es scheint, dass der Tomcat nur die .jar-Dateien lädt nicht die .dll-Dateien. – Gustavo
Ok, um klar zu stellen, müssen Sie die DLL in den Tomcat/bin-Ordner und die JDBC ** JAR ** Datei in den Tomcat/lib-Ordner (Entschuldigung mein Fehler auf der zusätzlichen s Lib, die ich jetzt korrigiert haben)) –