Проблемы с подключением JTDS к SQL Server - работает на 2000, но не 2005 - PullRequest
1 голос
/ 06 сентября 2010

Я пытался подключить Java-приложение через jtds jdbc к нескольким SQL-серверам.Я должен подключиться через проверку подлинности Windows.

Указана строка подключения:

String connectionString = _"jdbc:jtds:sqlserver://"+server+":"+port+"/"+database+";domain="+domain;_

, и я получаю соединение через:

con = java.sql.DriverManager.getConnection(url, _username, _password);

Это прекрасно работает на моем SQL Server 2000, но не наSQL Server 2005. На моем SQL Server 2005 появляется следующее сообщение об ошибке:

java.sql.SQLException: сбой входа для пользователя ''.Пользователь не связан с доверенным соединением с SQL Server.

Выглядит немного смешно, потому что пользователь в исключении пуст, но имя пользователя, указанное в параметре, не было пустым.

У меня такое ощущение, что это может быть связано с аутентификацией NTLM и Windows, потому что она работает, когда я пытаюсь войти в систему с использованием аутентификации SQL (т. Е. Без свойства домена)

1 Ответ

0 голосов
/ 21 июля 2011

Это происходит из-за того, что SQL Server 2005/2008 имеет различные значения по умолчанию после их установки.Вам по-прежнему необходимо:

  1. Открыть порт 1433 в брандмауэре Windows.
  2. Включить TCP-прослушиватель на порту 1433 (в SQL Configuration Manager) (вы можете включить / отключить прослушиватель для каждогоIP-адрес вашей машины)
  3. Включить учетную запись sa (или создать собственную учетную запись SQL) (это также предполагает, что вы не используете встроенную проверку подлинности)
  4. Включить смешанную проверку подлинностивашего экземпляра.

Если это не сработает, сообщите нам, какой результат вы получите, используя драйвер Microsoft JDBC версии 3.x или выше ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...