-818   THE PRECOMPILER-GENERATED TIMESTAMP x IN THE LOAD MODULE IS DIFFERENT FROM THE BIND TIMESTAMP y BUILT FROM THE DBRM z

説明

アプリケーション・ロード・モジュールに格納されているタイム・スタンプが、プランまたはパッケージに格納されているタイム・スタンプと一致していません。タイム・スタンプが一致しない場合、アプリケーションは SQL ステートメントを処理できません。

x
プリコンパイラーにより生成されたタイム・スタンプ。このタイム・スタンプは、Db2® 内部タイム・スタンプです。このタイム・スタンプの外部解釈はありません。
y
バインド・タイム・スタンプ。このタイム・スタンプは、Db2 内部タイム・スタンプです。このタイム・スタンプの外部解釈はありません。
z
データベース要求モジュール (DBRM) の名前。

SQL プリコンパイラーは、SQL ステートメントごとに、DBRM にタイム・スタンプ y を入れ、アプリケーション・プログラムのパラメーター・リストにタイム・スタンプ x を入れます。バインド時、Db2 は実行時に使用するために DBRM タイム・スタンプを保管しておきます。実行時に、処理中の SQL ステートメントのタイム・スタンプ x が、バインド時に DBRM z から得られたタイム・スタンプ y と比較されます。2 つのタイム・スタンプが一致しない場合、 DBRM とアプリケーション・プログラムは同じプリコンパイル操作の結果ではありません。

この問題は、次の状況で発生する可能性があります。

  • アプリケーションのプリコンパイル、コンパイル、およびリンクが行われたが、バインドされなかった。
  • アプリケーションのプリコンパイルとバインドが行われたが、コンパイルされずアプリケーション・プログラムにリンクされなかった。
  • アプリケーション・モジュールにリンクされるオブジェクト・モジュールを作成したものとは 異なるアプリケーション・プログラムのプリコンパイルから得られた DBRM を使用して、アプリケーションがバインドされた。

システムの処置

このステートメントを処理することはできません。

プログラマーの応答

ロード・モジュールと一致するアプリケーション・プログラムの DBRM を使用して、アプリケーションをもう一度バインドしてください。

SQLSTATE

51003