Oracle SQL Developer connection to Microsoft SQL Server

j'ai essayé sans aucun succès d'obtenir la dernière version D'Oracle SQL Developer (4.0.2) Pour Se connecter à Microsoft SQL server en utilisant l'authentification Windows. J'ai téléchargé et copié le ntmlauth.dll (et aussi JtdsXA.dll) à partir de jtds-1.3.1-dist à tous les endroits où je peux penser que le développeur serait à la recherche mais quand j'essaie de configurer une nouvelle connexion via L'onglet SQLServer en cliquant sur l'option "Use Windows Authentication", tout ce que j'obtiens est le message " Status: Échec-erreur d'e / s: SSO échoué: Bibliothèque SSPI Native non chargée. De vérifier la java.bibliothèque.propriété du système de chemin."Je peux cependant me connecter à la base de données en utilisant Toad pour SQL Server ou SSMS sans aucun problème, mais préférerais si possible utiliser SQL Developer.

8
demandé sur user1645365 2014-05-22 07:58:08

3 réponses

il suffit de copier ..\jtds-1.3.1-dist\x64\SSO\ntlmauth.dll dans le dossier - > ..\sqldeveloper\jdk\jre\bin pour les systèmes x64. Copier-coller des contenus de dossiers similaires pour les systèmes x86.

5
répondu Levent Tümen 2014-12-25 10:31:50

j'ai eu exactement le même problème. J'ai finalement réussi à le faire fonctionner en plaçant le ntlmauth.dll dans le dossier jdk\jre\bin sous le répertoire sql-developer lui-même. Pour une raison quelconque sql-developer bateaux avec son propre jdk, que j'ai trouvé en parcourant. J'ai passé des heures à essayer de comprendre pourquoi le placement de la DLL susmentionnée dans les différents répertoires de niveau système jre (i.e. C:\Program Files\Java\jre7\bin ) n'a pas fonctionné.

Si quelqu'un ici sait pourquoi le placement de ntlmauth.dll le dossier sql-developer\jdk\jre\bin a fonctionné alors que le placement dans les dossiers JRE de niveau système ne m'intéressait pas.

Mon OS = Windows 2007 64 bits

jtds = jtds-1.2.7

3
répondu codingknob 2014-10-27 23:46:10

la raison est assez simple; SQLDEVELOPER ne connaît pas le niveau système jre qui a été installé. Oracle bundles SQLDEVELOPER avec et sans JAVA. Si vous avez téléchargé celui sans java, lorsque vous démarrez l'application pour la première fois, vous serez invité pour l'emplacement du java_home. Si vous installez la version SQLDEVELOPER qui a déjà java installé, alors ça ne marchera pas. Dans votre cas, vous avez installé la version avec java déjà fournis avec l'application.

donc la racine de la question est alors que le niveau système jre n'est pas utilisé par SQLDEVELOPER (dans votre installation particulière) donc ntlmauth.dll que vous avez placé dans ce répertoire n'est jamais utilisé.

1
répondu shawno 2014-11-12 18:17:52