SQL ストアド・プロシージャのデバッグ

V5R2 の Toolbox for Java のシステム・デバッガーでは SQL ストアド・プロシージャのデバッグもできるようになっています。


SQL ストアド・プロシージャの作成

以下のような SQL ストアド・プロシージャを例にとって見ていきましょう。
引数を 3つ取ります。最初が 'A' だったら Add の意味で、残りの 2つの数を足して RESULTCALC テーブルに結果を書き出し、最初が 'A' 以外だったら掛け算をして結果を書き出す、というようなものです。ま、例ですから、内容に無理があってもいいですよね?!
とりあえずソースファイルに CREATE PROCEDURE 文を記述します。

結果を格納するテーブルも作成しておきます。

最初に入力したソースメンバーを指定して RUNSQLSTM コマンドを実行します。

上記コマンドを実行した結果、SQL ストアド・プロシージャが作成されます。

こんなふうに C のプログラムに展開されて作成されます。


デバッグサーバーの開始

リモートデバッグを行うためには、デバッグサーバーを開始しておく必要があります。
STRTCPSVR *DBG コマンドを実行することで開始できます。

デバッグマネジャーの開始

PC側で前回紹介した時と同様に Toolbox のシステム・デバッガーを起動します。

こんな画面が出てきますので、接続先のシステム名とユーザー/パスワードを入力します。

システム名/ユーザー/パスワードを入力した後の画面です。

SQL ストアド・プロシージャーのデバッグ開始

STRDBG コマンドで SQL ストアド・プロシージャーのデバッグを開始します。
この時、PC 側のデバッグ・マネジャーを接続するのに使用したユーザーで実行するようにします。

5250 の画面が入力不可のままロックされ、PC 側のシステム・デバッガーにソースが自動的に表示されます。

ブレイクポイントは F6 キーで設定します。

ブレークポイントを設定をした後、ツールバーにある緑色の右矢印ボタンを押します。
STRDBG コマンドのままロックされていた 5250 画面が入力可能になります。

デバッグの実行

STRSQL コマンドでの対話型 SQL 入力画面か RUNSQLSTM コマンドで、引数を指定してストアド・プロシージャを実行させてみましょう。

ブレイクポイントでストアド・プロシージャの実行が停止します。

停止したところで変数の内容等を見ることができます。
左下のペインで F というフィールドの内容が 'A' になっているのがわかりますね。

その後は、F11キーで一行ずつの実行もできますし、
そのまま最後まで先に進めてしまうには、ツールバーのところの緑色の右矢印ボタンを押すことで可能です。

ストアド・プロシージャの実行も完了します。

今度は引数を変えて実行させてみましょう。

同じブレイクポイントでも、変数の内容がちゃんと変わっているのが確認できますね。

[Top Pageに戻る]

Ads by TOK2