我曾经使用 Oracle SQL Developer 调试 Oracle 存储过程。但不知何故,在数据库团队将数据库迁移到 docker 环境后,当我尝试在存储过程上启动调试器时,我收到以下错误消息:
Connecting to the database XXX.
Executing PL/SQL: CALL DBMS_DEBUG_JDWP.CONNECT_TCP( 'XXX.XXX.XXX.XXX', '0' )
ORA-30683: failure establishing connection to debugger
ORA-12533: TNS:illegal ADDRESS parameters
ORA-06512: at "SYS.DBMS_DEBUG_JDWP", line 68
ORA-06512: at line 1
Process exited.
根据服务器团队的说法,他们启用了调试端口(例如 40100)供我的调试器连接,但仍然无法连接。
有人对此有什么建议吗?
有同样的问题,@PhilippSalvisberg 帮助我修复了它,并在这里更详细地解释了该问题。 “重要提示:127.0.0.1 无法工作,因为我们需要从 docker 容器中的 OracleDB 与在 VS Code 中运行调试器的客户端进行通信。因此 OracleDB 需要客户端的 IP 地址。”
相反,我运行
ipconfig getifaddr en0
并使用该地址与调试器连接。确保 ACL 已为此设置。 Philipp 在链接的要点中使用了通配符。