You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code Oracle Developer Tools TLS握手失败问题求助

问题分析与解决方案

核心结论:不是VS Code本身做了更严格的校验,而是Oracle Developer Tools扩展依赖的JDBC驱动(Java环境)与终端sqlplus使用的Oracle客户端,证书信任机制完全不同。

具体差异说明

  • 终端的sqlplus使用Oracle客户端的证书信任体系:要么依赖Oracle钱包(Wallet),要么使用系统级证书存储(比如Linux下的/etc/pki/tls/certs),你的环境里该体系已正确配置对数据库证书的信任。
  • Oracle Developer Tools扩展基于JDBC驱动连接数据库,而JDBC依赖Java的信任存储(cacerts文件),该存储默认不包含你数据库的根证书,因此出现PKIX path building failed错误。

解决步骤

  1. 获取数据库根证书
    可从跳转服务器的Oracle钱包导出证书,或联系数据库管理员获取数据库的根CA证书文件(格式为.crt或.pem)。

  2. 定位扩展使用的JRE路径
    在VS Code的SSH远程会话中:

    • 打开设置(快捷键Ctrl+,)
    • 搜索Oracle Developer Tools: Java Home,查看配置的JRE路径;若未手动配置,扩展可能自带JRE,路径通常为~/.vscode-server/extensions/oracle.oracle-developer-tools-<具体版本号>/jre
  3. 导入证书到Java信任存储
    使用Java的keytool命令执行导入(默认cacerts密码为changeit,若已修改请替换):

    keytool -importcert -alias oracle-db-root -file /path/to/your/db-root.crt -keystore $JRE_PATH/lib/security/cacerts -storepass changeit
    

    执行时输入y确认信任该证书。

  4. 重启并测试连接
    重启VS Code的SSH远程会话,重新测试Oracle数据库连接即可。

临时测试方案(不推荐生产环境)

如果仅用于临时测试,可在Oracle Developer Tools的连接高级设置中添加参数:

ssl_trust_all_certs=true

该参数会跳过证书校验,但存在安全风险,生产环境请勿使用。

内容的提问来源于stack exchange,提问作者Corez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 17:22:07