Ich arbeite derzeit mit SQL in Java . Kürzlich habe ich folgende Fehlermeldung erhalten:
com.Microsoft.sqlserver.jdbc.AuthenticationJNI <clinit>
WARNING: Failed to load the sqljdbc_auth.dll cause : no sqljdbc_auth in Java.library.path
Dies geschieht, wenn ich den Parameter integratedSecurity=true;
in die Verbindungszeichenfolge .. eingebe. Die Fehlermeldung besagt eindeutig, dass die Datei sqljdbc_auth.dll fehlt. Ich habe versucht, die DLL in den gleichen Pfad zu setzen, in dem ich sqljdbc4.jar verwende.
Dies funktioniert jedoch nicht, also wollte ich wissen, wie ich diese DLL meinem Buildpfad hinzufügen kann? Gibt es eine spezielle Möglichkeit, dies zu tun?
Okay Jungs, ich habe es herausgefunden! __. Ich brauchte nicht wirklich den Java.library.path zu ändern, sondern den "Native Library Location" von sqljdbc.jar
Dies ist die beste Antwort, die ich finden konnte: https://stackoverflow.com/a/958074/2000342
Es funktioniert jetzt, danke für die Unterstützung!
bewahren Sie sqljdbc_auth.dll
in Ihrem Windows/system32-Ordner auf, und es wird funktionieren. Laden Sie den sqljdbc-Treiber von diesem link Entpacken Sie ihn und Sie finden sqljdbc_auth.dll
. Behalten Sie jetzt den sqljdbc_auth.dll
im system32-Ordner und führen Sie Ihr Programm aus
Um das Problem zu beheben, folgen Sie diesen Schritten:
starten Sie entweder Eclipse oder Netbeans neu
Sie müssen eine -D-Systemeigenschaft namens Java.library.path
festlegen, die auf das Verzeichnis zeigt, das den sqljdbc_auth.dll
enthält.
Legen Sie Java.library.path auf ein Verzeichnis fest, das dieses DLL enthält, das Java verwendet, um native Bibliotheken zu finden. Geben Sie in der Befehlszeile den Schalter -D an
Java -Djava.library.path = C:\Java\native\libs Ihr Programm
C:\Java\native\libs sollte sqljdbc_auth.dll enthalten
Sehen Sie sich diesen SO post an, wenn Sie Eclipse verwenden, oder bei dieses Blog , wenn Sie programmgesteuert festlegen möchten.
Wenn die dll-Datei fehlt, können Sie die dll-Datei von diesem Link herunterladen http://en.osdn.jp/projects/sfnet_dose-grok/downloads/sqljdbc_auth.dll/
andernfalls müssen Sie den Benutzernamen und das Kennwort der Datenbank angeben, die Sie verbinden möchten, und die Authentifizierung als "false" festlegen
Freunde Ich hatte das gleiche Problem wegen der unterschiedlichen Bit-Version Stellen Sie sicher, dass folgender Punkt * Ihr jdk-Bit 64 oder 32 * Ihr Pfad für sqljdbc_4.0\enu\auth\x64 oder x86 dieses Verzeichnis ist Wählen Sie auf Ihrem jdk-Bit * sqljdbc_auth.dll diese Datei basierend auf Ihrem Bit x64 oder x86 aus, und legen Sie diese im system32-Ordner ab. Dies funktioniert für mich
Sie müssen sicherstellen, dass sich Ihre DLL im Klassenpfad befindet.
Eine Möglichkeit, dies zu tun, besteht darin, den Pfad zu DLL in der Umgebungsvariablen PATH anzugeben.
Eine andere Option ist das Hinzufügen zu den VM - Argumenten in der Variablen LD_LIBRARY_PATH wie folgt:
Java -Djava.library.path=/path/to/my/dll -cp /my/classpath/goes/here MainClass
Die Datei sqljdbc_auth.dll befindet sich im Ordner sqljdbc_x.x, den Sie installieren, um die Datei sqljdbcxx.jar im Ordner auth abzurufen. Erstellen Sie einen lib-Ordner an der Basis Ihres Scala-Projekts, und verschieben Sie die Datei sqljdbc_auth.dll in diesen Ordner. Dadurch wird sichergestellt, dass Sie die richtige Datei erhalten, z. 64 Bit oder 32 Bit, die Ihrer Datei sqljdbcxx.jar entsprechen.