THE SQL STATEMENT CANNOT BE EXECUTED BECAUSE IT WAS IN ERROR AT BIND TIME FOR SECTION = sectno PACKAGE = pkgname CONSISTENCY TOKEN = contoken
Explication
L’un des éléments suivants :
- L’instruction était erronée lorsque le package a été lié, mais l’erreur a ensuite été ignorée car l’option SQLERROR (CONTINUE) a été utilisée. Comme l’instruction contient une erreur, elle ne peut pas être exécutée.
- L’instruction peut ne pas être une instruction exécutable à cet emplacement, ou peut n’être exécutable que par un demandeur d’application Db2 (par exemple, DECLARE TABLE dans une application s’exécutant sur OS/2 provoque ce message).
Les variables sont :
sectno
Numéro de section
pkgname
locid.collid.pkgid
contoken
Jeton de cohérence en hexadécimal
Action du système
L’instruction ne peut pas être traitée.
Réponse du programmeur
Si l’instruction SQL n’est pas censée s’exécuter à l’emplacement indiqué, corrigez le programme afin que l’instruction erronée ne s’exécute pas à cet emplacement. Précompiler, compiler et lier remplacent le package. Si l’instruction SQL est censée s’exécuter à l’emplacement indiqué, corrigez le problème détecté lors de la liaison et liez le package à l’aide de BIND avec ACTION(REPLACE). Si plusieurs versions du package ont été liées, émettez l’instruction SELECT suivante pour déterminer quelle version a l’erreur : SELECT VERSION FROM locid.SYSIBM.SYSPACKAGE WHERE LOCATION = ‘ ‘ AND COLLID = ‘collid’ AND NAME = ‘pkgid’ AND HEX (CONTOKEN) = ‘contoken’
Où:
locid
Nom de la localisation
collid
Identifiant de la collection
pkgid
Nom du programme
SQLSTATE
51015