-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