2011-08-11 14 views
0

次のエラーメッセージが表示されます。pl SQL例外メッセージ

2011-08-08 14:27:09 [E]: xxx - ORA-06502: PL/SQL: numeric or value error: 
character string buffer too small 
ORA-06512: at "xxx", line 1671 
ORA-06512: at "xxx", line 2083 
ORA-06512: at "xxx", line 921 
ORA-06512: at line 1 

多くの行がある理由を教えてください。それはスタック巻き戻しであるか、メッセージは人為的にまとめられていますか?

答えて

2

これは実際には巻き戻しのスタックです。

おそらく、Toad(1行目)などのデータベースIDEからストアドプロシージャを呼び出したことがあります。そのプロシージャには921行目のプロシージャコールがあります。このエラーは最終的に1671行目のプロシージャまたはファンクションで発生しました。

私が間違っていないと、例外ハンドラは、行エラーメッセージ。

+0

C#でリフレクションするときと同じように、プロシージャとパッケージの名前を取得できますか? – Revious

+0

どういう意味ですか、スタックトレースからプロシージャ名を取得するか、現在のプロシージャ名を取得しますか?私はちょっと混乱しています。なぜなら、「リフレクションを通して」という言葉はいずれのものにも使用されないからです。 DBMS_UTILITYパッケージの助けを借りて、現在のスタックトレースまたは例外バックトレースを_string_として取得できます。したがって、この文字列を解析する必要があります。それは実行可能です。私はソフトウェアが正常にそれを行うのを見た。 – Codo

+0

はい、そういうことがありますか?私は質問を投稿しました:http://stackoverflow.com/questions/7032373/oracle-pl-sql-how-to-get-the-stack-trace-package-name-and-procedure-name – Revious