THE EXECUTE STATEMENT DOES NOT IDENTIFY A VALID PREPARED STATEMENT
Explication
L’une des conditions suivantes existe :
- L’instruction identifiée dans l’instruction EXECUTE n’a pas été préparée.
- L’instruction identifiée dans l’instruction EXECUTE identifie une instruction SELECT ou ASSOCIATE LOCATORS
- L’instruction identifiée dans l’instruction EXECUTE IMMEDIATE identifie une instruction SELECT ou ASSOCIATE LOCATORS.
- L’instruction identifiée dans l’instruction EXECUTE est une instruction de définition de données écrite en langage SQL natif et cette instruction a déjà été exécutée.
- Une instruction COMMIT ou ROLLBACK a été émise. L’opération COMMIT ou ROLLBACK a détruit la version préparée de l’instruction.
Action du système
L’instruction ne peut pas être traitée.
Réponse du programmeur
Assurez-vous de préparer la déclaration avant d’EXÉCUTER. Assurez-vous également que l’instruction préparée n’est pas :
- Une instruction SELECT.
- Une instruction ASSOCIATE LOCATORS.
Si l’instruction est une instruction de définition de données écrite en langage SQL natif et que cette instruction a déjà été exécutée, vous devez la préparer à nouveau avant de pouvoir l’exécuter à nouveau.
Si l’instruction préparée est émise après une instruction COMMIT ou ROLLBACK, effectuez l’une des actions suivantes :
- Préparez à nouveau la déclaration.
- Liez le package d’application avec l’option KEEPDYNAMIC(YES) pour conserver l’instruction préparée après une instruction COMMIT ou ROLLBACK.
- Liez le package d’application avec RELEASE(DEALLOCATE) pour conserver une instruction préparée qui référence les tables temporaires déclarées après une instruction COMMIT.
SQLSTATE
07003