Пожалуйста, помогите с проблемой, которую я получаю с последней версией Springboot (2.0.3.RELEASE) При попытке доступа к базе данных появляется следующая ошибка. Он работал до перехода на упомянутую версию Springboot и Java 10.
Среда разработки:
-Spring Boot 2.0.3.RELEASE
-JDK / JRE 10 (jdk-10.0.1)
-IDE: Spring Tool Suite 3.9.5.RELEASE
ОШИБКА:
2018-07-19 20:24:37.524 ERROR 12532 --- [ restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization.
com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server did not return a response. The connection has been closed. ClientConnectionId:33a45785-248c-4b57-ba29-f8802ddd8b25".
Caused by: java.io.IOException: SQL Server did not return a response. The connection has been closed. ClientConnectionId:33a45785-248c-4b57-ba29-f8802ddd8b25
org.springframework.jdbc.support.MetaDataAccessException: Could not get Connection for extracting meta-data; nested exception is org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server did not return a response. The connection has been closed. ClientConnectionId:33a45785-248c-4b57-ba29-f8802ddd8b25".
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server did not return a response. The connection has been closed. ClientConnectionId:33a45785-248c-4b57-ba29-f8802ddd8b25".
Я выполнил миграцию гид, но безуспешно. Я также пробовал другую конфигурацию, найденную в Интернете, но ничего не решает эту проблему.
Это происходит из-за версии Spring / Java.
Обратите внимание на конфигурацию DataSource в application.properties:
#CURRENT DATASOURCE CONFIG
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.url=jdbc:sqlserver://192.168.6.72;databaseName=WST
spring.datasource.hikari.username=user
spring.datasource.hikari.password=password
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
spring.jpa.hibernate.ddl-auto = none
spring.jpa.show-sql=true
#FOLLOWING CONFIG ARE JUST FOR REFERENCE. I TRIED THEM AS PER BLOGS
#spring.datasource.hikari.dataSourceClassName=com.microsoft.sqlserver.jdbc.SQLServerDataSource
#spring.datasource.url=jdbc:sqlserver://192.168.6.72;databaseName=WST
#spring.datasource.url=jdbc:sqlserver://192.168.6.72:1433/WST
#spring.datasource.type=
#spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource
#spring.datasource.tomcat.max-active=1
#spring.datasource.username=wstapp
#spring.datasource.password=wstapp@test
#spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
#spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDataSource
#spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
#spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect
#spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
#spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
На этой неделе я искал причину. Несколько советов по правильной конфигурации были бы полезны.
Заранее спасибо.
@NitinVavdiya спасибо. Ваш ответ указывает правильный путь.




Это проблема MSSQL-JDBC. Ответ: Нитин Вавдия указал мне правильное направление.
Я нашел "решение" здесь: https://github.com/Microsoft/mssql-jdbc/issues/719
Я только что изменил файл java.security в папке установки JRE и удалил значение: 3DES_EDE_CBC из jdk.tls.disabledAlgorithms в файле:
Программные файлы \ Java \ "Версия JRE" \ lib \ security
Вот точный ответ, который мне помог:
Чтобы повысить надежность соединений SSL / TLS, наборы шифров 3DES были отключены в соединениях SSL / TLS в JDK через свойство безопасности jdk.tls.disabledAlgorithms. (http://www.oracle.com/technetwork/java/javase/8u171-relnotes-4308888.html)
После изменения java.security и удаления 3DES_EDE_CBC из jdk.certpath.disabledAlgorithms все работает нормально. Я не уверен, что нужно изменить в конфигурации SQLServer, чтобы отключить 3DES как схему SSL.
У меня была такая же проблема с jdk1.8.0_172 в Ubuntu 18.04. Это сработало
Взгляните на github.com/Microsoft/mssql-jdbc/issues/414