3

Oracleデータベースにパッケージがあり、デバッグ用にコンパイルしてブレークポイントを設定しました。SQLDeveloperから、ctrl + shift + F10を押してデバッグを実行し、実行するプロシージャを選択できます。これはすべて正常に機能します。

このパッケージを実行してブレークポイントに到達したインスタンスをキャッチすることは可能ですか?たとえば、C#アプリケーションのユーザーがボタンをクリックすると、このパッケージのプロシージャが呼び出されます。SQL Developerに手順を中断して、アプリケーションから提供されたパラメータを使用してパッケージをステップスルーさせたいと思います。

4

2 に答える 2

2

SQL Developer Documentationによると、リモート デバッグを使用して単一のセッションをデバッグできるはずですが、事前にデバッグを初期化するために PL/SQL プロシージャを呼び出すようにクライアント アプリケーションを変更する必要があります。

于 2013-01-08T15:26:28.063 に答える
-1

どうする???

このプロシージャを実行するインスタンスをキャッチする方法を探す代わりに、パッケージ内のプロシージャに例外ブロックを追加して、プロシージャによってスローされたエラーをキャッチする方法に注目してください。

たとえば、追加

...
exception
  when others then
   insert into error_table(userid, error) values 
   (SYS_CONTEXT  ('USERENV', 'TERMINAL') ,
    SQLCODE ||' ' || SQLERRM );
   commit;

したがって、エラーが発生した場合、例外が挿入され、error_table にレコードが挿入されます。

よろしく

于 2013-01-08T15:56:35.507 に答える