CODE RETOUR -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

Explication
Un programme a tenté d’émettre l’instruction SQL indiquée qui est l’une des nombreuses instructions SQL qui ne peuvent pas être émises à partir d’un plan ou d’un package pour lequel l’option DYNAMICRULES(RUN) n’est pas en vigueur. Ces instructions SQL sont :

  • Instruction GRANT dynamique
  • Instruction REVOKE dynamique
  • Instruction ALTER dynamique
  • Instruction CREATE dynamique
  • Instruction DROP dynamique

L’instruction SQL indiquée est liée à l’un des éléments suivants :

  • Le plan ou package nommé qui n’était pas lié à l’option DYNAMICRULES(RUN)
  • Le package nommé qui n’était pas lié à l’option DYNAMICRULES, mais qui est ajouté à un plan qui n’était pas lié à DYNAMICRULES(RUN)

statement
L’instruction SQL en erreur
object_type1
FORFAIT ou DBRM
object_name
Si object_type1 est PACKAGE, object_name est le nom du package au format ‘location-id.collection-id.package-id’.
Si object_type1 est DBRM, object_name est le nom du DBRM au format « plan-name DBRM-name ».

object_type2
PLAN ou FORFAIT
Si object_type1 est PACKAGE, object_type2 peut être PACKAGE ou PLAN (selon celui qui est lié à une valeur DYNAMICRULES autre que RUN).

Si object_type1 est DBRM, object_type2 est PLAN.

Action du système
L’instruction ne peut pas être traitée.

Réponse du programmeur
Effectuez l’une des actions suivantes pour corriger l’erreur :

  • Si l’instruction SQL est incorporée, supprimez-la, précompilez et compilez à nouveau le programme d’application, puis relancez la commande BIND avec l’option DYNAMICRULES appropriée.
  • Utilisez l’instruction SQL avec un package ou un plan lié à DYNAMICRULES(RUN).
  • Exécutez la commande REBIND avec l’option DYNAMICRULES(RUN) pour le plan ou le package auquel l’instruction SQL est liée.

Déterminez si l’instruction SQL doit être supprimée du programme ou si le plan ou le package doit être rebondi avec l’option DYNAMICRULES(RUN).

SQLSTATE
42509