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;
в строку соединения.
В сообщении об ошибке явно указано, что отсутствует sqljdbc_auth.dll, поэтому я попытался поместить DLL в тот же путь, что и я, sqljdbc4.jar.
Однако это не работает, поэтому я хотел знать, как я действительно могу добавить эту DLL в мой путь сборки? Есть ли особый способ сделать это?
Ответы
Ответ 1
Хорошо, ребята, я это понял!
Мне действительно не нужно было изменять java.library.path, но "Местоположение исходной библиотеки" sqljdbc.jar
Это лучший ответ, который я мог бы найти:
fooobar.com/questions/32688/...
Теперь он работает, спасибо за поддержку!
Ответ 2
сохранить sqljdbc_auth.dll
в вашей папке windows/system32, и он будет работать. Загрузите драйвер sqljdbc из этой ссылки Разархивируйте его, и вы найдете sqljdbc_auth.dll
. Теперь продолжайте sqljdbc_auth.dll
внутри system32 папку и запустить вашу программу
Ответ 3
Вам необходимо установить системное свойство -D с именем java.library.path
, которое указывает на каталог, содержащий sqljdbc_auth.dll
.
Ответ 4
Установите java.library.path в каталог, содержащий эту DLL, которую Java использует для поиска родных библиотек. Укажите ключ -D в командной строке
java -Djava.library.path = C:\Java\native\libs Ваша программа
C:\Java\native\libs должен содержать sqljdbc_auth.dll
Посмотрите на сообщение SO, если вы используете Eclipse или этот блог если вы хотите установить программно.
Ответ 5
Если в этом случае отсутствует файл dll, вы можете скачать DLL файл из этой ссылки
http://en.osdn.jp/projects/sfnet_dose-grok/downloads/sqljdbc_auth.dll/
иначе вам нужно указать имя пользователя и пароль db, которые вы пытаетесь подключить, и сделать аутентификацию ложной
Ответ 6
Для простого исправления выполните следующие действия:
перезапустить либо eclipse, либо netbeans
Ответ 7
Вы должны убедиться, что ваша DLL находится в пути к классам.
Один из способов сделать это - указать путь к DLL в переменной среды PATH.
Другой вариант - добавить его к аргументам VM в переменной LD_LIBRARY_PATH, например:
java -Djava.library.path=/path/to/my/dll -cp /my/classpath/goes/here MainClass
Ответ 8
Друзья У меня была такая же проблема из-за другой версии бита
Убедитесь, что следующая точка
* Ваш бит 64 бит или 32 бит
* Ваш путь для sqljdbc_4.0\enu\auth\x64 или x86 этот каталог зависит от вашего jdk-бита
* sqljdbc_auth.dll выберите этот файл на основе вашего бита x64 или x86 и поместите его в папку system32, и он будет работать для меня
Ответ 9
sqljdbc_auth.dll находится в папке sqljdbc_x.x, которую вы устанавливаете, чтобы получить файл sqljdbcxx.jar в папке auth. Создайте папку lib в базе вашего проекта scala и переместите файл sqljdbc_auth.dll в эту папку. Это гарантирует, что вы получаете правильный файл, например. 64 бит или 32 бит, соответствующий вашему файлу sqljdbcxx.jar.