Ошибка при подключении к SQL Server: «Драйвер получил неожиданный ответ перед входом в систему» - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть веб-приложение, которое вместе со службой Windows подключается к MS SQL Server 2017 с помощью Hibernate.Это соединение уже было проверено и выполнено правильно в предыдущих ситуациях, то есть совместимость между драйвером и сервером в порядке.Несмотря на это, у меня возникают проблемы с определенным подключением к новому удаленному SQL Server (примечание: удаленные подключения SQL уже были успешно выполнены в прошлом).

Таким образом, этот удаленный SQL Server 2017 расположен воблачный сервер.На моем ПК NetBeans работает с протестированным веб-приложением.На другом сервере, но в той же сети, у меня установлена ​​служба Windows.

С помощью службы Windows я могу подключиться к серверу в облаке.Если я запускаю его внутри облачного сервера, он тоже подключается к нему.Я также могу подключиться к нему с помощью Microsoft SQL Management Studio, как с облачного сервера, так и с моего компьютера.Другими словами, я прекрасно могу подключиться к серверу, поэтому у меня есть правильная информация о подключении.

Единственное исключение здесь - это мое веб-приложение;это просто не соединится.А когда это не удается сделать, он выдает следующее сообщение об ошибке: «Драйвер получил неожиданный ответ перед входом в систему. Проверьте свойства подключения и убедитесь, что экземпляр SQL Server работает на хосте и принимает подключения TCP / IP напорт. Этот драйвер может использоваться только с SQL Server 2005 или более поздней версии. "

Вот конфигурация Hibernate (помните: ранее я мог подключаться к удаленным серверам SQL 2017):

<property name="hibernate.connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
<property name="hibernate.connection.url">jdbc:sqlserver://ip.goes.here\MARTIN2:1521;databaseName=DATABASENAMEHERE</property>
<property name="hibernate.connection.username">login</property>
<property name="hibernate.connection.password">password</property>

Поскольку эта проблема возникала, я попробовал множество других возможных комбинаций конфигурации в приведенном выше коде, и ни одна из них не была успешной.

Так почему же это происходит?Единственное, что может объяснить это, это то, что на том же облачном сервере установлен другой сервер Oracle.Тем не менее, я не считаю, что это проблема, поскольку, как я уже говорил, и MS Studio, и служба Windows могут подключаться без проблем.Драйвер mssql-jdbc-7.0.0.jre8.jar.Это веб-приложение нормально подключается к другому серверу SQL Server, установленному на другом компьютере в сети (то же, что упоминалось выше в том месте, где было проверено подключение службы Windows), что еще раз свидетельствует о хорошей совместимости драйверов.

1 Ответ

0 голосов
/ 16 апреля 2019

Мне удалось найти ответ на проблему.

Сначала мне нужно было извлечь информацию о порте.Кажется, что установка сервера SQL была несколько ошибочной, и поэтому порт по умолчанию 1433 не использовался, а какой-то другой, который я до сих пор не знаю.Таким образом, удаление определенного вызова для использования 1433 решило ошибку соединения.(Примечание: в приведенном выше коде я использую 1521, потому что сервер Oracle на той же машине использовал этот порт, и я ранее ошибочно, хотя этот порт собирался использовать; только позже я заметил, что это была моя ошибка).

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