赞
踩
异常如下:
com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]”。 ClientConnectionId:04a8ece8-757c-411e-9599-734eba7795cd
...
异常中提到客户端偏好不接受服务器选择的协议版本TLS10[TLS13,TLS12],博主在遇到这个问题的时候也查阅了很多资料,有的说更改java.security,有的说在java代码里更改url使用加密连接。这些方法博主都试过了,并没有卵用。
其实,这是因为导入的JDBC包不支持当前的JRE版本。我们可以在sqljdbc压缩包里看到提供了两个jre版本的JDBC,分别是jre7和jre8,所以一定要选则与jre相匹配的sqljdbc。如果你的jre不是7或者8,就会出现上面的异常情况。那么就需要配置相应的jre,如果是jre8可以尝试jdk1.8。
总之,就是SQLSERVER或者JDK或者JDBC驱动的版本之间不匹配。需要重新安装其他JDK、JDBC甚至SQLSERVER。
安装完jdk1.8后,还需要更改环境变量,可以打开CMD输入java -version查看jdk版本。
最后在IDEA -> File -> Project Structure -> Project 里面更改SDK,改为1.8即可。
JDBC下载:Download Microsoft SQL Server JDBC 驱动程序 6.0 from Official Microsoft Download Center
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。