问题描述:
springboot连接sqlserver数据库出现异常:ERROR org.apache.tomcat.jdbc.pool.ConnectionPool - Unable to create initial connections of pool.
com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "The server selected protocol version TLS10 is not accepted by client preferences [TLS12]". ClientConnectionId:6602d2a8-f003-4638-af96-ecbfeb99abe3
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2392)
at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1777)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1969)
解决方法:
这个情况很有可能是你的sqlserver的版本太低了,我之前连接sqlserver2008版本也出现这个问题,把sqlserver换成sqlserver2017版本就好了,当然换数据库成本太大了!
不想换数据库版本,也可以换你的jdk,jdk1.8-144这个版本可以避免这个问题。
如果也不想换jdk的话可以试试换jdbc的连接jar包,换成如下的jar:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>
</dependency>
网上也有说修改java.security文件的,我试过,没用,所以就不介绍了。