Я подключался к Sql Server 2008 & 2008+ через программу Java с
- Java 8
- Sql jdbc microsoft driver 4.1
- Строка подключения:
DriverManager.getConnection("jdbc:sqlserver://<Ip>;instance=MSSQLSERVER;domain=<domain>;IntegratedSecurity=true;ssl=request;", "administrator", "password");
Мне удалось успешно подключиться.
Однако, когда я включил принудительное шифрование на true на сервере SQL через диспетчер конфигурации сервера SQL.
Я начал получать следующую ошибку.
com.microsoft.sqlserver.jdbc.SQLServerException: An existing connection was forcibly closed by the remote host ClientConnectionId:xxxx
FYI:
Я уже пытался добавить ниже параметры в строке подключения.
- = SSL запрос
- = SSL требуется
- шифровать = истина
- trustServerCertificate = истина
- Также я попытался обновить драйвер до версии 4.2 & mssql driver 7.0
- Пробовал также драйвер jtds
- Обратите внимание: я могу подключиться к экземпляру через ssms
РЕДАКТИРОВАТЬ 1
- Еще один важный момент - это происходит только для проверки подлинности Windows (включено через IntegratedSecurity = true; в строке подключения).
Таким образом, этот случай происходит, только если для параметра Force encryption установлено значение true, и мы пытаемся подключиться в режиме проверки подлинности Windows.