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

使用SQL Developer连接数据库报ValidatorException、Vendor code 17002如何解决

问题原因

该报错的核心是SQL Developer默认使用自带的独立JDK运行,其内置的信任库中没有目标数据库的SSL服务端证书;你本地使用的Python、Java程序调用的是系统环境配置的运行时/JDK,对应的信任库中已经提前导入了数据库证书,因此会出现相同配置连接结果不一致的情况。

报错中文翻译

执行请求的操作时遇到错误:
IO错误:IO错误 sun.security.validator.ValidatorException: PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException: 无法找到指向请求目标的有效证书路径,连接耗时1961ms,认证耗时0ms。
厂商错误码 17002

解决方案

按需选择以下两种方案处理即可:

临时绕过证书验证(仅测试用,不建议生产环境使用)

  • 打开SQL Developer的连接配置界面,找到「高级」选项卡
  • 在「自定义JDBC URL」的原有URL末尾追加参数 ?oracle.net.ssl_server_dn_match=false
  • 也可以在连接属性栏手动新增属性 oracle.net.ssl_server_dn_match,值设为 false
  • 保存配置后重新尝试连接即可

正式导入证书到SQL Developer信任库(生产环境推荐)

  • 第一步:导出数据库服务端的SSL证书,可通过openssl命令导出:openssl s_client -connect 数据库地址:端口 < /dev/null | sed -n '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/p' > db.crt,也可以通过浏览器访问数据库SSL端口导出证书
  • 第二步:找到SQL Developer自带JDK的信任库路径,Windows默认路径为C:\Program Files\Oracle\SQL Developer\jdk\jre\lib\security\cacerts,Mac默认路径为/Applications/SQLDeveloper.app/Contents/Resources/sqldeveloper/jdk/jre/lib/security/cacerts
  • 第三步:用keytool命令将证书导入到对应信任库:keytool -import -alias 自定义证书别名 -file 证书文件db.crt的本地路径 -keystore 上一步找到的cacerts文件路径,默认信任库密码为changeit
  • 第四步:重启SQL Developer后重新连接即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 18:27:03