2014-10-14 5 views
0

Я веб-приложение и иметь MSSQL Server 2012 и необходимо получить доступ к этой базе данных с использованием проверки подлинности окна и с помощью Tomcat 6 и ОС WindowsMSSQL проблема аутентификации Окно с сервером Tomcat

Но те же функции работают отлично (проверка подлинности окна) с сервером MSSQL 2008, а не с сервером MSSQL 2012. Так что, возможно, я знаю, причина в том, что в конфигурации отсутствует какая-то ошибка.

Я положил jtds-1.2.5.jar в каталог apache \ lib, а также поместил файл ntlmauth.dll в папку C: \ Windows \ System32, а также добавил системную переменную JAVA_OPTS для местоположения dll, но она не работа. Он выдает сообщение об ошибке:

2014-10-14 13:35:35,237 ERROR Unable to get database connection: SQL Exception occurred    
java.sql.SQLException: Cannot open database "Test" requested by the login. The login failed. 

Тогда я поставил DLL в JRE \ директории бен но он не работает, пожалуйста, сообщите в любом неправильно делаете. Также попробуйте поставить dll в apache \ bin loc, все еще получая ту же проблему.

Но в соответствии с требованиями клиента, которые хотят использовать JTDS api, а не драйвер Microsoft, для этого необходимо решение в JTDS api. Несмотря на то, что отлично работает MSSQL сервер 2008, но не работает в MSSQL сервер 2012.

Я следую по ссылке http://www.dekho.com.au/dekho-connecting-to-sql-server-using-windows-authentication/

ответ

1

у нас были подобные проблемы с JDTS и в какой-то момент прибегали к использованию официального драйвера JDBC от Microsoft. Драйвер Microsoft работает в Windows, Linux и MacOS и не требует, чтобы я размещал DLL или что-то в этом роде.

http://msdn.microsoft.com/en-us/sqlserver/aa937724.aspx

Единственные минусы этого драйвера являются (1) он не является открытым исходным кодом, так что вы не можете изменить его в случае, если вам нужно, и (2) вы должны принять лицензию. Однако (2) не должно быть проблемой, поскольку вы используете MSSQL Server в любом случае.

И наконец (я не уверен, что это относится к вам) драйвер Microsoft не может использоваться с Maven. Поэтому я (на Mac) использую следующий сценарий bash для установки драйвера в локальный репозиторий Maven.

#!/bin/bash 
mvn install:install-file -Dfile=lib/sqljdbc4.jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=3.0 -Dpackaging=jar 

Для строк подключения JDBC см следующей страницы:

http://msdn.microsoft.com/en-us/library/ms378428(v=sql.110).aspx

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

;integratedSecurity=true; 

к jdbcUrl.

+0

Но мне нужно это решение, используя jtds api для доступа к аутентификации окна. Мой проект с использованием jtds api не JDBC-драйверов. – user3337109

+0

jDTS - это драйвер JDBC. Это тот же самый интерфейс драйвера, который используется драйверами Microsoft. –

+0

На самом деле jDTS - это реализация с открытым исходным кодом, которая пытается конкурировать с официальными драйверами. –

Смежные вопросы