- 问题出现 {#1.-%E9%97%AE%E9%A2%98%E5%87%BA%E7%8E%B0}
在 MeterSphere "项目设置-项目环境-创建环境",添加 SQL Server 2012 数据库连接,无法连接成功,本地使用数据库客户端工具可以正常连接成功该数据库!
- 问题原因 {#2.-%E9%97%AE%E9%A2%98%E5%8E%9F%E5%9B%A0}
MeteSphere 连接 SQL Server 的时候,要选数据库驱动,目前支持的 SQL Server 驱动的版本是 7.4.1 的,其他不兼容的版本暂时不支持。
注意: 这个驱动的版本对应具体的 SQL Server 版本。 {#%E6%B3%A8%E6%84%8F%3A-%E8%BF%99%E4%B8%AA%E9%A9%B1%E5%8A%A8%E7%9A%84%E7%89%88%E6%9C%AC%E5%AF%B9%E5%BA%94%E5%85%B7%E4%BD%93%E7%9A%84-sql-server-%E7%89%88%E6%9C%AC%E3%80%82}
- 解决方法 {#3.-%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95}
由于 JDK11 默认拒绝了 TLSv1.0 和 TLSv1.1 的连接
长期解决方案:
升级数据库的安全连接版本到 TLSv1.2
临时解决方案:
修改 java.security 文件规避,删除 jdk.tls.disabledAlgorithms 中的 TLSv1, TLSv1.1。
docker exec -it ms-server sh
vi /usr/lib/jvm/java-11-openjdk/conf/security/java.security
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA,
DH keySize \< 1024, EC keySize \< 224, 3DES_EDE_CBC, anon, NULL,
include jdk.disabled.namedCurves
`msctl restart
`