前言
今天使用jdbc连接sql server突然报错为:SQLServerException: “Encrypt”属性设置为“true”且 “trustServerCertificate”属性设置为“false”,但驱动程序无法使用安全套接字层 (SSL) 加密与 SQL Server 建立安全连接
解决办法一
首先是网上寻找到的第一种办法,就是在自己安装的JDK目录下找到java.security文件,然后打开这个文件。查询jdk.tls.disabledAlgorithms,然后将里面的3DES_EDE_CBC去掉,使用旧的算法。
下面是我的电脑上的例子:
但是遗憾的是,这个解决办法没有解决我的问题。
解决办法二
在连接数据库时,在我们使用的url后面加上一个encrypt=false或者encrypt=true;trustServerCertificate=true
String dbURL="jdbc:sqlserver://localhost:1433;databaseName=TestDB;encrypt=false"; String dbURL="jdbc:sqlserver://localhost:1433;databaseName=TestDB;encrypt=true;trustServerCertificate=true";
现在也还不了解具体原理,麻烦各位不吝赐教。
总结
- 修改java.secrity文件
- 在url后面加上encrypt=false或者encrypt=true;trustServerCertificate=true
到此这篇关于解决连接Sql Server时报错:无法通过使用安全套接字层加密与SQL Server建立安全连接的文章就介绍到这了,更多相关连接Sql Server时报错解决内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!