更新时间:2024-10-10 GMT+08:00
SQL Server测试连接失败,提示错误信息 ErrorCode=0, SQLState=08S01
问题描述
当源数据库为SQL Server,并选择“不使用SSL”时,测试连接失败,弹窗提示 ErrorCode=0, SQLState=08S01,同时查看相关日志,发现有如下相关错误信息:Caused by: The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]。
问题原因
即便指定了非SSL链接,SQL Server底层协议仍会自生成一个证书对登录数据包内容进行加密,较低版本可能会使用TLS1.0协议,而当前使用的JRE因为不够安全的原因,默认禁用了TLS1.0。
解决方法
按照以下步骤,修改JVM配置:
- 以root用户登录到UGO服务器。
- 确认Java运行环境路径,下文以JAVA_HOME代称。
- 修改<JAVA_HOME>/lib/security/java.security文件。
vi <JAVA_HOME>/lib/security/java.security
- 删除jdk.tls.disabledAlgorithms配置项中的TLS v1协议,并保存。
图1 删除对TLS v1协议的禁用
- 重启UGO服务,<UGO_HOME>为UGO安装目录。
python3 <UGO_HOME>/bin/ugoserver.py restart
父主题: 数据库连接