-571   THE STATEMENT WOULD RESULT IN A MULTIPLE SITE UPDATE

説明

この SQLCODE は、次のような場合に出されます。
  • IMS™ または CICS® 環境で作動しているアプリケーション・プログラムが、 複数サイト更新機能がサポートされないリモート・ロケーションにあるデータを変更しようと試みた場合。
  • アプリケーション・プログラムの、複数サイトでの更新を引き起こすような コミット有効範囲内に明示 SQL ステートメントがあるが、 データが更新されるサイトの 1 つで複数サイト更新がサポートされない場合。
アプリケーション・プログラムが、コミット有効範囲内の 1 つのロケーションで明示的に データを変更した場合にも、この SQLCODE が出される可能性があります。 次のような場合に、これが起こることがあります。
  • アプリケーション・プログラムに関連付けられているパッケージが無効になっている。
  • パッケージまたはプランは、Db2® のあるリリースでバインドされたが、 前のリリースへのフォールバックが行われている。
上記に述べた状況では、ユーザーに代わって、暗黙の自動バインドが行われます。 自動バインドの結果として、Db2 カタログが更新されます。 自動バインドが行われたとき、この SQLCODE が出される条件となるのは、次のとおりです。
  • データが変更された 1 つのサイトで、複数サイト更新がサポートされない。
  • 自動バインドが、アプリケーション・プログラムが明示的にデータを 変更したところとは別のサイトで行われている。
  • 自動バインド時に、アプリケーション・プログラム内の SQL ステートメントを処理するために ロックが保持されている。

システムの処置

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

プログラマーの応答

  • 複数サイト更新をサポートしないロケーションを参照するアプリケーションの場合は、 すべてのデータ変更要求を、特定のコミット有効範囲内では 1 つのロケーションに 限定するようにしてください。
  • リモート・データベース・システムが複数サイト更新をサポート しない IMS または CICS 環境で作動中のプログラムの場合は、 すべての SQL ステートメントを読み取り専用アクセスにしなければなりません。
  • 自動バインドによってこの SQLCODE が出された場合は、 プランまたはパッケージを REBIND してください。

SQLSTATE

25000