2016-12-30 6 views
-2

呼び出されているプロシージャをチェックしたいですか? 彼のための方法はありますか?db2のプロシージャのDDLを生成できますか?

私はdb2lookを使用して生成しようとしましたが、動作しませんでした。

+0

M Gade、 あなたが何を求めているのかは分かりません。どのプラットフォーム/バージョンをお使いですか? (例えば、ISeries、Linuxなど)。どのプログラムがストアドプロシージャを呼び出すのかを判断しようとしていますか、またはストアドプロシージャの名前を知っていて、そのテキストを見ようとしていますか? – plditallo

+0

私はLinuxを使用しています。私は名前がSASDBADF.ADFQ_11111_SENSITIVE_PARTA_R032の長いプロシージャを作成しましたが、今はどこに呼び出されているのか探していますか?それを見つける方法はありますか? –

+0

基本的には、このプロセスが別のストアドプロシージャまたは実行可能プログラムによって呼び出されたかどうかは不明です。最初にSYSCAT.ROUTINEDEPとSYSCAT.ROUTINESのequijoinを見て、db2を開始してください。あなたは依存関係を探しています。格納されているprocが使用するテーブル名を探します。これは、他の使い慣れたプロセスに接続するのに役立ちます。 – plditallo

答えて

0

sqlpltrcユーティリティとSQLプロファイラユーティリティを使用できます。それに関する記事はほとんどありませんが、手続きのスタックコールを手助けすることができます。

https://www.ibm.com/developerworks/community/blogs/SQLTips4DB2LUW/entry/tracing?lang=en http://angocadb2.blogspot.com.co/2014/02/tracing-log4db2-with-sqlpltrc.html

ともう一つの方法は、あなたの手順の名前を探して、SYSCAT.PROCEDURESビューのTEXT列で見ることです。しかし、動的SQLがあると、最終的にはこれが役に立たない可能性があります。また、関数またはトリガがSPを呼び出す場合は、対応するテーブルの名前を検索する必要があります。

関連する問題