Je travaille actuellement avec SQL en Java . Récemment, j'ai eu cette erreur:
com.Microsoft.sqlserver.jdbc.AuthenticationJNI <clinit>
WARNING: Failed to load the sqljdbc_auth.dll cause : no sqljdbc_auth in Java.library.path
Cela se produit lorsque j'ajoute le paramètre integratedSecurity=true;
dans la connexion String . Le message d'erreur indique clairement que sqljdbc_auth.dll est manquant, j'ai donc essayé de placer la dll dans le même chemin que je garde sqljdbc4.jar.
Cependant, cela ne fonctionne pas, donc je voulais savoir comment je pouvais réellement ajouter cette dll à mon chemin de construction? Y a-t-il un moyen spécial de le faire?
Très bien les gars, je l'ai découvert!
C'est la meilleure réponse que j'ai pu trouver: https://stackoverflow.com/a/958074/2000342
Cela fonctionne maintenant, merci pour le soutien!
gardez sqljdbc_auth.dll
dans votre dossier windows/system32 et cela fonctionnera. Téléchargez le pilote sqljdbc depuis ce lien link décompressez-le et vous trouverez sqljdbc_auth.dll
.Maintenant conservez le sqljdbc_auth.dll
dans le dossier system32 et exécutez votre programme
Pour corriger facilement, suivez ces étapes:
redémarrer soit Eclipse ou Netbeans
Vous devez définir une propriété système -D appelée Java.library.path
qui pointe vers le répertoire contenant le sqljdbc_auth.dll
.
Définissez Java.library.path dans un répertoire contenant cette DLL que Java utilise pour rechercher les bibliothèques natives. Spécifiez le commutateur -D sur la ligne de commande
Java -Djava.library.path = C:\Java\natif\libs VotreProgramme
C:\Java\native\libs doit contenir sqljdbc_auth.dll
Regardez ce SO post si vous utilisez Eclipse ou sur ce blog si vous souhaitez définir par programme.
Si c'est le cas du fichier dll manquant, vous pouvez télécharger le fichier dll à partir de ce lien http://en.osdn.jp/projects/sfnet_dose-grok/downloads/sqljdbc_auth.dll/
sinon, vous devez fournir le nom d'utilisateur et le mot de passe de la base de données à laquelle vous essayez de vous connecter, et définir l'authentification sur false
Amis J'ai eu le même problème à cause de la version de bit différente Assurez-vous que le point suivant * Votre jdk bit 64 ou 32 * Votre chemin pour sqljdbc_4.0\enu\auth\x64 ou x86 dépend de ce répertoire sur votre jdk bit * sqljdbc_auth.dll sélectionnez ce fichier en fonction de votre bit x64 ou x86 et mettez-le dans le dossier system32 et cela fonctionnera pour moi
Vous devez vous assurer que votre DLL est dans le chemin de classe.
Une des façons de le faire est de définir le chemin d'accès à la variable d'environnement DLL dans PATH.
Une autre option consiste à l'ajouter aux arguments VM de la variable LD_LIBRARY_PATH, comme suit:
Java -Djava.library.path=/path/to/my/dll -cp /my/classpath/goes/here MainClass
Sqljdbc_auth.dll se trouve dans le dossier sqljdbc_x.x que vous installez pour récupérer le fichier sqljdbcxx.jar dans le dossier auth. Créez un dossier lib à la base de votre projet scala et déplacez sqljdbc_auth.dll dans ce dossier. Cela garantit que vous obtenez le bon fichier, par exemple. 64 bits ou 32 bits qui correspond à votre fichier sqljdbcxx.jar.