Java 远程调试PL/SQL包
假设我有一个正在运行的JavaWeb应用程序,我试图在其中保存一些数据,使用JDBC调用数据库中的PL/SQL包 在java代码中,调用了execute()函数,将要保存的数据发送到数据库中的PL/SQL包,该包将处理数据并最终保存它Java 远程调试PL/SQL包,java,oracle,debugging,plsql,plsqldeveloper,Java,Oracle,Debugging,Plsql,Plsqldeveloper,假设我有一个正在运行的JavaWeb应用程序,我试图在其中保存一些数据,使用JDBC调用数据库中的PL/SQL包 在java代码中,调用了execute()函数,将要保存的数据发送到数据库中的PL/SQL包,该包将处理数据并最终保存它 是否有一种方法可以使用Oracle SQL Developer或PL/SQL Developer动态调试被调用的PL/SQL包,这些IDE是否支持这种远程调试功能?您需要的是Oracle SQL Developer中提供的远程调试功能。 有几个先决条件需要满足:
是否有一种方法可以使用Oracle SQL Developer或PL/SQL Developer动态调试被调用的PL/SQL包,这些IDE是否支持这种远程调试功能?您需要的是Oracle SQL Developer中提供的远程调试功能。 有几个先决条件需要满足:
alter package SCHEMA.package\u NAME编译调试代码>
将调试连接会话授予用户名代码>用于连接到远程用户会话的可用性
将调试过程授予用户名代码>用于调试过程(包括捆绑在包中的那些过程)
- 如果您使用Oracle 12c,您应该考虑其他ACL限制,查看并注意有一些有用的Oracle视图,如
,用于检查您现有的ACL权限dba\u network\u ACL\u privileges
访问其将SYS.DBMS\u DEBUG\u JDWP上的execute授予远程用户名
过程连接\u TCP
我还想提到,PL/SQL开发人员很不幸地使用了远程调试(使用
DBMS\u DEBUG
包而不是DBMS\u DEBUG\u JDWP
),即使是在最新版本中。Oracle SQL Developer是用Java编写的,PL/SQL Developer不是,我认为这是问题的根源。您正在寻找的是Oracle SQL Developer中提供的远程调试功能。
有几个先决条件需要满足:
alter package SCHEMA.package\u NAME编译调试代码>
将调试连接会话授予用户名代码>用于连接到远程用户会话的可用性
将调试过程授予用户名代码>用于调试过程(包括捆绑在包中的那些过程)
- 如果您使用Oracle 12c,您应该考虑其他ACL限制,查看并注意有一些有用的Oracle视图,如
,用于检查您现有的ACL权限dba\u network\u ACL\u privileges
访问其将SYS.DBMS\u DEBUG\u JDWP上的execute授予远程用户名
过程连接\u TCP
我还想提到,PL/SQL开发人员很不幸地使用了远程调试(使用
DBMS\u DEBUG
包而不是DBMS\u DEBUG\u JDWP
),即使是在最新版本中。Oracle SQL Developer是用Java编写的,PL/SQL Developer不是,我认为这是问题的根源。你说的“调试数据库”是什么意思?我不熟悉这个概念。PL/SQL的交互式调试是可能的,但前提是我们事先做好了准备。不仅仅是因为它需要授予某些特权。请现在读一下匆忙中写的@mathguy thxcorrected@APC谢谢,我将对此进行检查,希望这将与JDBC对该过程的调用一起工作。我反对将其关闭为“太宽”。远程调试是尽可能基于主题的编程,虽然可能有多个备选方案,但它不像是一个浪费的选项海洋。问“我需要为我正在开发的在线购物应用程序保存一些数据,我该怎么做?”是一个过于宽泛的问题。这个不是。你说的“调试数据库”是什么意思?我不熟悉这个概念。PL/SQL的交互式调试是可能的,但前提是我们事先做好了准备。不仅仅是因为它需要授予某些特权。请现在读一下匆忙中写的@mathguy thxcorrected@APC谢谢,我将对此进行检查,希望这将与JDBC对该过程的调用一起工作。我反对将其关闭为“太宽”。远程调试与主题编程相同