-549 THE statement STATEMENT IS NOT ALLOWED FOR object_type1 object_name BECAUSE THE BIND OPTION DYNAMICRULES(RUN) IS NOT IN EFFECT FOR object_type2
説明
プログラムが、示された SQL ステートメントを出そうとしました。
この SQL ステートメントは、オプション DYNAMICRULES(RUN) が有効でない
プランまたはパッケージから出すことができないいくつかの SQL ステートメントのうちの 1 つです。
この SQL ステートメントは以下のとおりです。
- 動的 GRANT ステートメント
- 動的 REVOKE ステートメント
- 動的 ALTER ステートメント
- 動的 CREATE ステートメント
- 動的 DROP ステートメント
示された SQL ステートメントは以下のいずれかにバインドされています。
- オプション DYNAMICRULES(RUN) を指定してバインドされなかった名前付きプランまたはパッケージ。
- DYNAMICRULES オプションを使ってバインドされていないが、 DYNAMICRULES(RUN) を使ってバインドされていないプランに追加されている名前付きパッケージ。
- ステートメント (statement)
- エラー状態の SQL ステートメント
- object_type1
- PACKAGE または DBRM
- object_name
- object_type1 が PACKAGE の場合、
object_name は、「location-id.collection-id.package-id」形式のパッケージの名前です。
object_type1 が DBRM の場合、 object_name は、書式「plan-name DBRM-name」の DBRM の名前です。
- object_type2
- PLAN または PACKAGE
object_type1 が PACKAGE の場合、 object_type2 は、PACKAGE または PLAN (どちらも RUN とは違う DYNAMICRULES 値を 使ってバインドされている) である可能性があります。
object_type1 が DBRM のとき、object_type2 は PLAN です。
システムの処置
このステートメントを処理することはできません。
プログラマーの応答
以下のいずれかの処置を取って、エラーを訂正してください。
- SQL ステートメントが組み込まれている場合、それを除去し、アプリケーション・プログラムを再びプリコンパイルおよびコンパイルし、該当する DYNAMICRULES オプションを指定して BIND コマンドを再び出す。
- DYNAMICRULES(RUN) でバインドされるパッケージまたはプランを持つ SQL ステートメントを使用する。
- SQL ステートメントがバインドされるプランまたはパッケージに、REBIND コマンドを DYNAMICRULES(RUN) オプション付きで発行する。
SQL ステートメントをプログラムから除去するか、 DYNAMICRULES(RUN) オプションを使用してプランまたはパッケージを再バインドするかを判別してください。
SQLSTATE
42509