9
votes

Le pilote JTDS ne fonctionne pas pour SQL Server 2008R2 et la bibliothèque SSPI Native Denali NON LOODÉE. Vérifiez la propriété Java.Library.Path système

J'essaie de connecter la base de données SQL Server à l'aide de l'authentification Windows à partir de mon application à l'aide du pilote JTDS, mais j'ai eu la suite d'erreur

SSO a échoué: bibliothèque SSPI natif non chargé. Vérifier le java.library.path Propriété du système.

Voici les scénarios où j'ai essayé de résoudre mais que quelque chose est toujours manquant.

  1. J'ai ajouté NTLMAuth.dll dans le répertoire système et ça fonctionne bien pour SQL Server 2005.
  2. Mais la même chose que j'ai essayée pour SQL Server 2008 R2 et Denali, mais cela me donne la même erreur que celle mentionnée ci-dessus
  3. aussi j'ai considéré un peu je veux dire que j'ai copié ntlmauth.dll à partir de x64 \ sso \ chemin dans le répertoire système.

    Je suis confus pourquoi cela ne fonctionne pas pour SQL Server 2008 R2 et Denali.


0 commentaires

3 Réponses :


15
votes

Essayez en plaçant le fichier ntlmauth.dll dans le dossier bac de votre environnement d'exécution Java (par exemple, C: \ Program Files \ Java \ jre7 \ bin ).

Assurez-vous de faire correspondre la "bitness" (32 bits ou 64 bits) de la DLL avec la bitness JVM.

J'ai rencontré le même problème à l'aide de SQL Server Express 2008 R2 et de ce Article de forum MSDN SQL Server recommandé cette résolution, qui a fonctionné pour moi.


1 commentaires

Une chose facile à manquer est s'il y a une inadéquation entre la taille du mot de la JVM et la bibliothèque. Donc, si vous exécutez un Java 32 bits et que vous avez une DLL 64 bits, il ne se charge pas.



4
votes

En plus de la mettre dans votre jre directement, vous pouvez également spécifier simplement le java.library.path comme tel: xxx

Le répertoire ci-dessus contiendrait alors le ntlmmauth.dll fichier


0 commentaires

0
votes

En plus de la réponse de Dechrist, je devais ajouter le même fichier DLL dans le dossier bin de C: \ Program Files \ Java \ jdk1.8.0_91 \ jre \ bin aussi. Dans ce cas, cela a fonctionné pour moi.


2 commentaires

Cela me ressemble plus à un commentaire qu'une réponse complète.


J'ai essayé de faire un commentaire mais je n'ai pas assez de réputation . Comme je le vois, je ne peux que le faire dans mes propres réponses pour le moment.