无法将 spring 启动应用程序与 SQL SERVER 数据库连接
Not able to connect spring boot application with SQL SERVER Database
我正在尝试将我的 spring 启动应用程序与 sql 服务器数据库连接,但它抛出异常并显示:
020-08-18 16:58:11.580 ERROR 14800 --- [ main] 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. .
但是我能够连接 oracle 数据库,当我尝试连接 sql 服务器.
时出现问题
这里是 application.properties 文件
spring.datasource.url=jdbc:sqlserver://192.168.*.*\DB2008;databaseName=mydbname
spring.datasource.username=myuser
spring.datasource.password=mypassword
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.jpa.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect
这里是详细的错误:
2020-08-18 16:58:11.580 ERROR 14800 --- [ main] 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:37aa16bd-92f0-4af0-a090-06f2349cb51a".
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2924) ~[mssql-jdbc-7.4.0.jre8.jar:na]
at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1881) ~[mssql-jdbc-7.4.0.jre8.jar:na]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2484) ~[mssql-jdbc-7.4.0.jre8.jar:na]
遇到这种情况可以尝试以下步骤
- 确保您的 SQL 服务器在本地 运行(您是否尝试连接到已删除的 SQL 服务器?)
- 或者,在数据库名称后的 URL 中使用此语句
jdbc:mysql://IP:3306/someDatabase?autoReconnect=true&useSSL=false
我已经按照以下步骤解决了这个问题:
编辑 C:\Program Files\Java\jdk1.8.0_251\jre\lib\security\java.security
找到下面的变量,它将有多个逗号分隔的值,删除我在下面提到的一个值:
查找:jdk.tls.disabledAlgorithms=
删除:3DES_EDE_CBC
这应该可以解决!
我正在尝试将我的 spring 启动应用程序与 sql 服务器数据库连接,但它抛出异常并显示:
020-08-18 16:58:11.580 ERROR 14800 --- [ main] 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. .
但是我能够连接 oracle 数据库,当我尝试连接 sql 服务器.
时出现问题这里是 application.properties 文件
spring.datasource.url=jdbc:sqlserver://192.168.*.*\DB2008;databaseName=mydbname
spring.datasource.username=myuser
spring.datasource.password=mypassword
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.jpa.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect
这里是详细的错误:
2020-08-18 16:58:11.580 ERROR 14800 --- [ main] 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:37aa16bd-92f0-4af0-a090-06f2349cb51a".
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2924) ~[mssql-jdbc-7.4.0.jre8.jar:na]
at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1881) ~[mssql-jdbc-7.4.0.jre8.jar:na]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2484) ~[mssql-jdbc-7.4.0.jre8.jar:na]
遇到这种情况可以尝试以下步骤
- 确保您的 SQL 服务器在本地 运行(您是否尝试连接到已删除的 SQL 服务器?)
- 或者,在数据库名称后的 URL 中使用此语句
jdbc:mysql://IP:3306/someDatabase?autoReconnect=true&useSSL=false
我已经按照以下步骤解决了这个问题:
编辑 C:\Program Files\Java\jdk1.8.0_251\jre\lib\security\java.security
找到下面的变量,它将有多个逗号分隔的值,删除我在下面提到的一个值:
查找:jdk.tls.disabledAlgorithms=
删除:3DES_EDE_CBC
这应该可以解决!