dll отсутствует в JDBC

В настоящее время я работаю с SQL на Java. Недавно я получил эту ошибку:

com.microsoft.sqlserver.jdbc.AuthenticationJNI <clinit> WARNING: Failed to load the sqljdbc_auth.dll cause : no sqljdbc_auth in java.library.path 

Это происходит, когда я добавляю параметр integratedSecurity=true; в соединении String. В сообщении об ошибке явно указано, что отсутствует sqljdbc_auth.dll, поэтому я попытался поместить DLL в тот же путь, что и sqljdbc4.jar.

Однако это не сработает, поэтому я хотел знать, как я действительно могу добавить эту DLL в мой путь сборки? Есть ли особый способ сделать это?

держите sqljdbc_auth.dll в своей папке windows / system32, и он будет работать. Загрузите драйвер sqljdbc из этой ссылки. Разархивируйте его, и вы найдете sqljdbc_auth.dll Теперь держите sqljdbc_auth.dll внутри папки system32 и запустите свою программу

Хорошо, ребята, я это понял! Мне не нужно было изменять java.library.path, но «Местоположение исходной библиотеки» sqljdbc.jar

Это лучший ответ, который я могу найти: https://stackoverflow.com/a/958074/2000342

Он работает сейчас, спасибо за поддержку!

Вам необходимо установить системное свойство -D, называемое java.library.path которое указывает на каталог, содержащий sqljdbc_auth.dll .

Установите java.library.path в каталог, содержащий эту DLL, которую Java использует для поиска родных библиотек. Укажите ключ -D в командной строке

java -Djava.library.path = C: \ Java \ native \ libs Ваша программа

C: \ Java \ native \ libs должен содержать sqljdbc_auth.dll

Посмотрите на это сообщение SO, если вы используете Eclipse или в этом блоге, если хотите установить программно.

Если файл DLL отсутствует, вы можете скачать DLL-файл по этой ссылке http://en.osdn.jp/projects/sfnet_dose-grok/downloads/sqljdbc_auth.dll/

иначе вам нужно указать имя пользователя и пароль db, которые вы пытаетесь подключить, и сделать аутентификацию ложной

Для легкого исправления выполните следующие действия:

  1. goto: https://docs.microsoft.com/en-us/sql/connect/jdbc/building-the-connection-url#Connectingintegrated
  2. Загрузите файл JDBC и извлеките его в предпочтительное место
  3. откройте папку auth, соответствующую вашей ОС x64 или x86
  4. скопируйте файл sqljdbc_auth.dll
  5. вставить: C: \ Program Files \ Java \ jdk_version \ bin

перезапустить либо затмение, либо небезопасное

Вы должны убедиться, что ваша DLL находится в пути к классам.

Один из способов сделать это – указать путь к DLL в переменной среды PATH.

Другой вариант – добавить его к аргументам VM в переменной LD_LIBRARY_PATH, например:

java -Djava.library.path=/path/to/my/dll -cp /my/classpath/goes/here MainClass

Друзья У меня была такая же проблема из-за другой версии бита. Убедитесь, что следующая точка * Ваш бит jdk 64 или 32 * Ваш путь для sqljdbc_4.0 \ enu \ auth \ x64 или x86 этот каталог зависит от вашего бита jdk * sqljdbc_auth.dll select этот файл основан на вашем бите x64 или x86 и поместите его в папку system32, и он будет работать для меня

Sqljdbc_auth.dll находится в папке sqljdbc_x.x, которую вы устанавливаете, чтобы получить файл sqljdbcxx.jar в папке auth. Создайте папку lib в базе вашего проекта scala и переместите файл sqljdbc_auth.dll в эту папку. Это гарантирует, что вы получаете правильный файл, например 64-битный или 32-разрядный, который соответствует вашему файлу sqljdbcxx.jar.