驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接,Error: “The server selected protocol version TLS10 is not accepted by client preferences [TLS13,TLS12]”. ClientConnectionId:d5fd8d69-ae88-4055-9f6d-6e8515224ce2】。
以前完整的项目已经上线好久了,现在要做一下后期维护开发,一运行就报上述错误,百度各种方法,数据库服务端的协议版本是TLS10,而客户端协议版本是TLS12,TLS13。需要删除java.security的:TLSv1、TLSv1.1、3DES_EDE_CBC。
尝试删除以后,还是报错,报的错误还是一模一样,那问题就不是这个,还有说修改把数据库链接url改为:url: jdbc:sqlserver://localhost:1433;database=demo;encrypt=false
或者 url: jdbc:sqlserver://localhost:1433;database=demo;;encrypt=true;trustServerCertificate=true,以前能正常运行的项目,数据库连接应该没有问题,但是死马当作活马医,试一试,果然,没有啥意义,回想了一下,是改了什么导致出现这种问题的,以前的源代码没有动过,动过的只有eclipse和jdk,因为后期的开发,把jdk升级到了最新版,那就应该是jdk 的问题,检查了一下,项目运行的JRE,JRE Sytem Library[JavaSE-1.8](unbound)
基本上就是以前的项目所用的JRE环境因为JDK升级丢失了,重新选择一下以前的JRE或者选择新的JRE,再按照上面删除删除java.security的:TLSv1、TLSv1.1、3DES_EDE_CBC就可以。