java.lang.UnsatisfiedLinkError: pas de sqljdbc_auth en java.de la bibliothèque.chemin
Je me suis créé un .pot de mon application java, et quand j'ai essayer de l'exécuter .pot de cmd, j'obtiens une erreur.
J'ai cherché et trouvé beaucoup d'exemples, mais pas un travail pour moi.
J'ai mis le java.de la bibliothèque.chemin vers le répertoire ‘sqljdbc_auth.dll " comme je l'ai vu ici, mais l'erreur continue.
http://www.linglom.com/images/howto/netbeans/sqlserver/part3/8.png
Je lance mon application java avec la commande : java -Djava.de la bibliothèque.chemin= "ma dll chemin" et donner ceci:
PS C:\Users\User> java -Djava.library.path="C:\Users\User\Desktop\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc
_4.0\ptb\auth\x64"
Error: Could not find or load main class .library.path=C:\Users\User\Desktop\Microsoft JDBC Driver 4.0 for SQL Server
\sqljdbc_4.0\ptb\auth\x64
J'ai pas vraiment pas comment résoudre ce problème.
J'ai été la recherche d'un beaucoup de temps, mais rien ne fonctionne. Veuillez quelqu'un de m'aider.
GRÂCE
WARNING: Failed to load the sqljdbc_auth.dll cause : no sqljdbc_auth in java.library.path
com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrat
ectionId:0481a2ee-4ac4-4fd3-89cd-58aad1696fe4
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.j
at com.microsoft.sqlserver.jdbc.AuthenticationJNI.<init>(AuthenticationJNI.java:60)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServe
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnect
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnecti
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.jav
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at test.database.Conection.getConexao(Conection.java:41)
at test.forms.jTLogin.<init>(jTLogin.java:71)
at test.forms.jTLogin$4.run(jTLogin.java:448)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.UnsatisfiedLinkError: no sqljdbc_auth in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at com.microsoft.sqlserver.jdbc.AuthenticationJNI.<clinit>(AuthenticationJNI.java:3
... 28 more
OriginalL'auteur rpirez | 2014-05-30
Vous devez vous connecter pour publier un commentaire.
Ai eu de travail...
1) Ajouté .dll et .jar Java/JDK/bin
2) Ajouté .jar dans le dossier applications/lib
3) Ajouté .dll dans windows/system32
ajouter java/jdk../bin et windows/system32 dans "Chemin" de l'environnement système.
OriginalL'auteur user3320956
Après une matinée entière de la frustration, j'ai finalement obtenu de travail, tout ce que j'avais à faire était de la partie de @user3320956 la première suggestion.
J'ai ajouté de l'sqljdbc_auth.dll à mon JDK\bin (dans mon cas C:\Program Files\Java\jdk1.7.0_79\bin) et la seule chose dans mon CLASSPATH est
Après que, tant que je n'ai pas utilisé le pc-ou -classpath variables, j'ai été en mesure d'utiliser cette instruction dans ma classe:
et de se connecter à une base de données distante. Voici ma chaîne de connexion (bien sûr, remplacer SERVERNAME et DBNAME, assurez-vous que vous avez des droits, assurez-vous que votre serveur est configuré pour accepter les connexions TCP/IP, etc.):
HTH!
Acclamations,
-Matthieu
OriginalL'auteur Maashu
Si vous n'avez pas besoin de "sécurité intégrée", vous pouvez simplement désactiver le paramètre dans l'url:
Ce devrait être bon pour le développement, mais probablement aussi pour certains environnement de production.
OriginalL'auteur dermoritz
J'ai eu le même problème que l'OP, mais je n'ai pas été en mesure de résoudre basé sur user3320956 de réponse.
Je suis à l'aide d'Intellij Idea, et j'ai découvert que j'étais capable de résoudre ce problème en modifiant la méthode à partir de laquelle j'ai créé le .jar. Le "extrait de la cible JAR" la méthode a été ce que j'ai déjà utilisé et m'a donné exactement le même problème décrit par l'OP. Depuis, j'ai changé cette méthode"d'essayer de copier dans le répertoire de sortie et le lien via manifeste" de la méthode lors de la création de Jar" et je ne reçois plus le message d'erreur "Erreur: impossible de trouver ou charger la classe principale".
Espère que cela aide à économiser des gens coincés dans ma situation, quelques maux de tête!
OriginalL'auteur TheNewGuy