動的ステートメントを Explain するために、dynexpln は、 そのステートメントに対して静的アプリケーションを作成してから、 db2expln を起動します。 静的ステートメントを作成するときは、dynexpln は、 それらのステートメントを使って小さい C プログラムを生成してから、 DB2 事前コンパイラーを呼び出してパッケージを作成します。 (生成される C プログラムは完全なものではないので、 コンパイルすることはできません。 事前コンパイラーがパッケージを組み立てるのに必要な程度の情報が入っているだけです。)
dynexpln で表示される共通のメッセージを以下に示します。
dynexpln は db2expln を起動するので、 db2expln のエラー・メッセージのほとんどを見ることができます。
データベースへの接続中にエラーが起こった場合に、 このメッセージが出力に表示されます。 接続が完了できなかった理由を示す CLI エラー・メッセージも表示されます。 エラーの原因を訂正して、再び dynexpln を実行します。
dynexpln が実行される時点で該当のファイルが存在していると、 このメッセージが表示されます。 該当のファイルを除去するか、 DYNEXPLN_PACKAGE 環境変数の値を変更して、 作成する予定のファイルの名前を変更し、再び dynexpln を実行します。
dynexpln が実行される時点で該当のパッケージが存在していると、 このメッセージが表示されます。 該当のパッケージを除去して実行するか、 または DYNEXPLN_PACKAGE 環境変数の値を変更して、 作成する予定のパッケージの名前を変更して、再び dynexpln を実行します。
該当のファイルに書き出すことができないと、このメッセージが表示されます。 dynexpln が現行のディレクトリーにファイルを書き出して、 再び実行できるようにしてください。
-f オプションで指定されたファイルを読むことができないと、 このメッセージが表示されます。 該当のファイルが存在し、 dynexpln がそれを読めるようにしてください。 dynexpln をもう一度実行します。
環境変数: dynexpln と組み合わせて使用できるような 2 つの異なる環境変数があります。
たとえば、次のようにします。 DYNEXPLN_OPTIONS="OPTLEVEL 5 BLOCKING ALL"
この名前は、 dynexpln が使用する中間ファイルの名前を作成するときにも使用します。