Tengo 2 aplicaciones web java que necesitan conectarse a la base de datos de SQL Server utilizando la Autenticación integrada de Windows.Biblioteca nativa sqljdbc_auth.dll ya cargada en otro cargador de clase
El primero que se carga funciona bien, pero la segunda lanza la excepción:
Native Library sqljdbc_auth.dll already loaded in another classloader
El error anterior se produce cuando coloco el sqljdbc_auth.dll en una de las carpetas:
- C: \ WINDOWS \ system32 \
- C: \ Fundación archivos de programa \ Apache Software \ Tomcat 7.0 \ bin \
Si coloco el sqljdbc_auth.dll en una de las carpetas siguientes:
- /WEB-INF/lib de cada aplicación web
- C: Fundación \ Archivos de programa \ Apache Software \ Tomcat 7.0 \ lib \
Ambas aplicaciones emitir la excepción:
Failed to load the sqljdbc_auth.dll cause :- no sqljdbc_auth in java.library.path
estoy usando este código para cargar el controlador:
Class.forName("jdbc:sqlserver://<HOST>;databaseName=<DBNAME>;integratedSecurity=true;");
¿Cómo puedo resolverlo?
Como dije en mi pregunta intenté poner la DLL en tomcat 7.0/lib antes. Después de su respuesta, creé el tomcat 7.0/lib * s * y coloqué el DLL allí, y obtuve el mismo error: Error al cargar el sqljdbc_auth.dll porque: - no sqljdbc_auth en java.library.path – Gustavo
I ' he leído sobre el Tomcat Classloader antes en el enlace: http://tomcat.apache.org/tomcat-7.0-doc/class-loader-howto.html Pero parece que el Tomcat solo carga los archivos .jar , no los archivos .dll. – Gustavo
Ok, para aclarar, necesitas poner el dll en la carpeta Tomcat/bin y el archivo jdbc ** JAR ** en la carpeta Tomcat/lib (perdón por mi error en los extra s de lib, que ya he corregido) –