DB2 ストアード・プロシージャー・プログラムの準備
ここでは、DB2® ストアード・プロシージャーを Debug Tool でのデバッグ用に準備するために、収集する必要がある情報と実行しなければならないステップについて説明します。Debug Tool は、PROGRAM TYPE が MAIN または SUB であるストアード・プロシージャーをデバッグできます。準備ステップは同じです。
作業を始める前に、サポートされているデバッグ・モードを使用できることを確認してください。Debug Tool は、アセンブラー、C、C++、COBOL、および Enterprise PL/I で作成されたストアード・プロシージャーを、以下のすべてのデバッグ・モードでデバッグできます。
- リモート・デバッグ
- 専用端末を使用するフルスクリーン・モード
- バッチ
「DB2 ユニバーサル・データベース (OS/390 版および z/OS 版) アプリケーション・プログラミングおよび SQL ガイド」の『クライアント/サーバー処理におけるストアード・プロシージャーの使用』のセクションを参照して、ストアード・プロシージャーがこのセクションに記述されている形式と制約事項に準拠していることを確認します。
DB2 ストアード・プロシージャーを準備するには、以下のステップを実行します。
- DB2 システム管理者が、「Debug Tool カスタマイズ・ガイド」のセクション『DB2 ストアード・プロシージャーをデバッグするための環境の準備』で説明されている作業を完了していることを確認します。
DB2 システム管理者は、ストアード・プロシージャーを実行するアドレス・スペースを定義し、DB2 プログラムに適切な RACF® 読み取り権限を付与し、アドレス・スペースをリサイクルして更新が有効になるようにする必要があります。
- プログラム・タイプ SUB のストアード・プロシージャーで、システム・プログラマーまたは DB2 システム管理者が WLM アドレス・スペースを定義するとき、NUMTCB の値を 1 に設定することを確認します。 NUMTCB は、WLM アドレス・スペース内で同時に稼働できるタスク制御ブロック (TCB) の最大数を指定します。ストアード・プロシージャーは、そのストアード・プロシージャーを開始した TCB 以外の TCB で稼働している場合は、デバッグできません。NUMTCB の値を 1 に設定すると、ストアード・プロシージャーが別の TCB で実行されないようにすることができます。
- ストアード・プロシージャーを定義するとき、LANGUAGE パラメーターと PROGRAM TYPE パラメーターに正しい値を指定していることを確認します。C、C++、COBOL、または Enterprise PL/I の場合、PROGRAM TYPE は MAIN または SUB にすることができます。アセンブラーの場合、PROGRAM TYPE は MAIN でなければなりません。
- ストアード・プロシージャーのデバッグ中に他のユーザーがそのストアード・プロシージャーを実行する可能性がないかどうかを判断します。他のユーザーがそのストアード・プロシージャーを実行する可能性がある場合、それをデバッグすることはできません。
- プログラムをデバッグするための準備の説明に従って、プログラムをコンパイルまたはアセンブルします。以下の例外があります。
- COBOL プログラムでは、PROGRAM TYPE が SUB で、ストアード・プロシージャーのデバッグ中に、他のユーザーがそのストアード・プロシージャーを実行する可能性がある場合、このプログラムをデバッグすることはできません。
- Enterprise PL/I プログラムでは、RENT コンパイラー・オプションも指定します。
- TEST ランタイム・オプションを指定する際に、ご使用のサイトで以下のどちらの方法を使用するかを判別します。
- 言語環境プログラム EQADDCXT 出口ルーチンで
- EQADDCXT ユーザー出口のコピーを 言語環境プログラム・ユーザー出口を使用した TEST ランタイム・オプションの指定の説明に従って準備します。
-
DB2 カタログによる場合
- 以下のステップを実行することにより、DB2 カタログの RUNOPTS フィールドを定義して、求める TEST ランタイム・オプションを組み込みます。
- ストアード・プロシージャーを記述します。次の例では、ストアード・プロシージャーはタイプが SUB の SPROC1 と呼ばれる COBOL プログラムであり、WLMENV1 と呼ばれる WLM アドレス・スペースで実行され、リモート・デバッグ・モードでデバッグされます。
create procedure sproc1
language cobol
external name sproc1
parameter style general
wlm environment wlmenv1
run options 'TEST(,,,TCPIP&9.112.27.99%8001:*)'
program type sub;
- ストアード・プロシージャーが正しく定義されているかどうかを確認するために、DB2 SQL SELECT コマンドを入力します。例えば、次のコマンドを入力できます。
select * from sysibm.sysroutines;
定義を更新する必要がある場合は、次のコマンドを使用します。
alter procedure sproc1 run options 'TEST(,,,TCPIP&9.112.27.21%8001:*)';
alter procedure コマンドを使用する必要がある更新の例としては、リモート・デバッグ・セッションを開始するワークステーションの TCP/IP アドレスを更新することがあります。
|
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)