工作中遇到一个问题,程序连sqlserver2005的时候能连通,但是看不到表信息。本地装了一个开发版后发现果然如此。在微软官网找到一些古老的JDBC,试到4.2发现行,就发给现象。这是一个故事的开始。
JDBC换成,重启程序,结果连通测试直接报错:
An error occurred while trying to connect to the database: (classname:com.microsoft.sqlserver.jdbc.SQLServerDriver)
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“SQL Server 未返回响应。连接已关闭。。。。。。
百度一番,说是由于JDK8的高版本不允许使用DES算法,而sqlserver的连接使用了DES算法,因此去修改jre\lib\security下的java.security,将
jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 1024, \
EC keySize < 224, DES40_CBC, RC4_40,
3DES_EDE_CBC
改成了
jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 1024, \
EC keySize < 224, DES40_CBC,
RC4_40
去掉了最后的3DES_EDE
An error occurred while trying to connect to the database: (classname:com.microsoft.sqlserver.jdbc.SQLServerDriver)
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“SQL Server 未返回响应。连接已关闭。。。。。。
百度一番,说是由于JDK8的高版本不允许使用DES算法,而sqlserver的连接使用了DES算法,因此去修改jre\lib\security下的java.security,将
jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 1024, \
改成了
jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 1024, \
去掉了最后的3DES_EDE
