sqlsever,jdbc连接的时候出现问题
出现的问题
jdbc连接sqlever的时候,报错!The server selected protocol version TLS10 is not accepted by client preferences [TLS12]。
直译:SqlServer 服务器只接受 TLS1.0,但是客户端给的是 TLS1.2
问题分析
同一状态下,另外一个项目jdbc连接没有问题,但是我的项目就有问题。
排除了sqlsever数据库本身有问题
上网找答案!!!哈哈哈
网上的答案是JDK1.8对TLS的版本做了限制,我这里是TLS1.0
JDK限制的问题,怎么解决呢
打开JDK的限制文件
JAVA_HOME\jre\lib\security\java.security
搜索关键词“jdk.tls”,可以找到配置项:jdk.tls.disabledAlgorithms(jdk不生效的算法配置)里面有TLSv1, 也就是说 TSL1.0版本不让用了,这样就解释了为啥会出现问题。
把 jdk.tls.disabledAlgorithms 配置项中 TLSv1 删除,这样 TLS1.0 就可以使用了。
更新环境变量,我也不知道需要不需要,不过我是更新了。
source /etc/profile
然后重启服务!(我也不知道需要不需要重启,反正我是重启了)