MSSQL JDBC в Unix

Я пытаюсь интегрировать веб-инструмент, который у нас есть, с базой данных сервера sql, используя встроенную безопасность. Я искал вокруг, пытаясь найти unix-версию sqljdbc4.jar, однако я не могу найти ее с файлами .so только .dll.

Кто-нибудь знает, где я могу получить версию с необходимыми файлами .so или другим способом использования встроенной безопасности?

В настоящее время мое приложение не может подключиться к

com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication 

и я вижу

WARNING: Failed to load the sqljdbc_auth.dll 

ранее в логах.

Использование версии 2.5 mssqljdbc.


person James    schedule 23.07.2012    source источник
comment
Просто задумайтесь, если интегрированная безопасность означает интеграцию безопасности с ОС Windows, вы не сможете сделать это в Unix из коробки. Зачем нужна комплексная безопасность?   -  person beny23    schedule 23.07.2012
comment
Люди, которые управляют базой данных, разрешают только этот тип входа. Не знал, что это означает интеграцию с ОС Windows, думал, что это просто интеграция с ОС. Казалось, они думали, что это возможно на unix-сервере, придется проверить у них еще раз.   -  person James    schedule 23.07.2012
comment
Ответ SO здесь (stackoverflow.com/questions/167464/) может дать вам дополнительную информацию   -  person Brian Agnew    schedule 23.07.2012
comment
Привет, мозг, вопрос, который вы связали, похоже, касается экземпляра Tomcat в Windows. Серверный процесс работает в Unix, и я хотел бы войти в систему с пользователем, запускающим этот процесс.   -  person James    schedule 23.07.2012


Ответы (2)


Согласно этим документам, начиная с MSSQL JDBC Driver 4.0, вы должны можно указать authenticationScheme=JavaKerberos для использования чистой реализации Java Kerberos, для которой не требуется sqljdbc_auth.dll.

Заметьте, я не пробовал это.

person beny23    schedule 23.07.2012

Я знаю, что уже поздно, но для тех, кто ищет это, попробуйте следующее:

поместите sqljdbc_auth.dll в папку ресурсов, затем добавьте следующий код

ClassLoader classLoader = TestDBConnection.class.getClassLoader();
File file = new File(classLoader.getResource("sqljdbc_auth.dll").getFile());
System.setProperty("java.library.path", file.getParent());
person Daniel Malan    schedule 26.02.2018