Archives de catégorie : SQLCODE

CODE RETOUR -929

FAILURE IN A DATA CAPTURE EXIT: token

Explication :
token‘ est une chaîne d’informations fournie par la routine de sortie de DPROP qui capture les modifications de données dans les tables définies avec DATA CAPTURE CHANGES.

Action du système :
La chaîne d’informations est placée dans la zone SQLERRM de SQLCA.

Réponse du programmeur système :
Pour la documentation des actions associées à ce SQLCODE, reportez-vous aux publications Data Propagator (DPROP).

SQLSTATE :
58002

CODE RETOUR -919

A ROLLBACK OPERATION IS REQUIRED

Explication :

L’unité d’oeuvre a été placée dans un état où une opération de restauration est requise. Cela peut arriver pour les raisons suivantes :

  • Une instruction SQL a mis à jour un serveur de base de données distribué, mais le serveur de base de données ne peut être utilisé que pour des opérations en lecture seule. Soit les mises à jour sont actuellement limitées aux serveurs qui prennent en charge la validation en deux phases distribuée et ce serveur d’applications ne prend pas en charge la validation en deux phases distribuée, soit les mises à jour sont limitées à un seul serveur qui ne prend pas en charge la validation en deux phases distribuée et ce serveur d’applications n’est pas ce serveur.
    L’unité d’oeuvre doit se terminer par une opération de restauration car la mise à jour effectuée (mais non validée) sur le serveur d’applications ne peut pas être validée de manière cohérente avec les autres mises à jour actuelles ou futures apportées à cette unité d’oeuvre distribuée.
  • Une fin anormale s’est produite lors de l’exécution d’une procédure stockée ou une instruction SQL restreinte a été émise à partir d’une procédure stockée.
  • Une fin anormale s’est produite lors de l’exécution d’une fonction ou une instruction SQL restreinte a été émise à partir d’une fonction.
  • L’unité de travail fait partie d’une transaction globale et une autre unité de travail dans la transaction globale a initié un ROLLBACK. Toutes les unités de travail dans la transaction globale doivent maintenant ROLLBACK.

Action du système :
Dans les environnements IMS et CICS, toutes les instructions SQL sont rejetées jusqu’à ce que la restauration se produise. Dans les autres environnements, toutes les instructions SQL autres qu’un ROLLBACK statique sont rejetées jusqu’à ce qu’un ROLLBACK statique soit exécuté.

Réponse du programmeur :
Corrigez l’application, la fonction ou la procédure stockée, reliez-la et soumettez à nouveau le travail.

SQLERRP contient le nom du module qui a détecté l’échec précédent et placé l’application dans l’état must-abort.

SQLSTATE :
56045

CODE RETOUR -918

THE SQL STATEMENT CANNOT BE EXECUTED BECAUSE A CONNECTION HAS BEEN LOST

Explication :
L’exécution de l’instruction SQL a échoué car un lien de communication entre le Db2 local et au moins un serveur distant n’existe plus. Une panne précédente a causé cette condition.

Action du système :
Dans les environnements IMS et CICS, toutes les instructions SQL sont rejetées jusqu’à ce que la restauration se produise. Dans les autres environnements, toutes les instructions SQL autres qu’un ROLLBACK statique sont rejetées jusqu’à ce qu’un ROLLBACK statique soit exécuté.

Réponse du programmeur :
En général, un programme d’application doit émettre un ROLLBACK statique. Les tentatives de l’application d’émettre des instructions SQL autres que ROLLBACK statique peuvent échouer. Une fois le ROLLBACK statique émis, l’application peut reprendre son exécution.

SQLERRP contient le nom du module qui a détecté l’échec précédent et placé l’application dans l’état must-abort.

SQLSTATE :
51021

CODE RETOUR -917

BIND PACKAGE FAILED

Explication :
Une erreur s’est produite qui empêche la création du package. Ce SQLCODE peut être émis pendant le traitement de la liaison ou de la validation.

Action du système :
La liaison échoue et le package n’est pas créé. S’il est émis pendant le traitement de la validation, toutes les modifications apportées à la base de données sont annulées. S’il est émis pendant le traitement de la liaison, seule la création du package échoue. D’autres modifications au sein de l’unité logique de travail peuvent être validées.

Réponse du programmeur :
Corrigez la cause du problème et réessayez.

Détermination du problème :
Inspectez les SQLCODES émis pour les instructions SQL du package.

SQLSTATE :
42969

CODE RETOUR -804

AN ERROR WAS FOUND IN THE APPLICATION PROGRAM INPUT PARAMETERS FOR THE SQL STATEMENT, REASON reason

Explication :

La liste des paramètres d’appel ou la SQLDA est invalide :

  • La liste des paramètres d’appel, qui est créée par le précompilateur, peut être invalide si le programmeur de l’application a modifié la sortie du précompilateur, utilisé un nom de variable commençant par ‘SQL’ dans le programme d’application ou écrasé la liste des paramètres d’appel dans un autre chemin.
  • Le SQLDA, qui est créé par le programme d’application, a un type de données ou une longueur de données non valides.
  • La valeur de SQLDABC n’est pas cohérente avec la valeur de SQLD.

Voici la liste des codes de raison :

01Ouvert émis pour non-curseur
02Fermer émis pour non-curseur
03Préparez-vous à EXECUTE IMMEDIATE.
04La déclaration n’est pas reconnue.
05Aucune chaîne d’instruction n’est présente.
06Format SQLDA incorrect dans la liste des paramètres.
07La longueur SQLDA n’est pas valide.
08Type de données d’entrée non reconnu.
09Longueur non valide pour la variable d’entrée.
10Longueur de données non valide pour la variable de sortie.
11La valeur de SQLDABC n’est pas cohérente avec la valeur de SQLD.
12Pointeur de données d’entrée non valide. Si l’erreur se produit dans une application REXX, il est possible qu’une valeur n’ait pas été définie pour une variable hôte d’entrée ou une variable d’indicateur.
13Pointeur de données de sortie non valide.
14SQLN contient trop d’éléments pour SQLDABC.
15Le pointeur RDI d’entrée n’est pas valide.
16Type de données de sortie non reconnu.
17La valeur du 7ème octet de SQLDAID n’est pas cohérente avec les types de données contenus dans le SQLDA. La SQLDA contient une variable hôte de type LOB, mais le 7ème octet de SQLDAID n’est pas défini sur ‘2’ ou plus pour indiquer que les SQLVAR étendus ont été alloués.
18Un ARRAY SQLTYPE a été spécifié dans un SQLDA.
19Nom de programme invalide.

Action du système :
La déclaration ne peut pas être traitée.

Réponse du programmeur:
système Examinez le programme d’application pour toute erreur notée dans l’explication ci-dessus. En général, le programmeur de l’application ne doit pas tenter de modifier la sortie du précompilateur.

SQLSTATE :
07002

CODE RETOUR -807

ACCESS DENIED: PACKAGE package-name IS NOT ENABLED FOR ACCESS FROM connection-type connection-name

Explication :
L’accès est refusé pour l’une des raisons suivantes :
– Il est désactivé, soit à partir du ‘type-de-connexion’, soit à partir du ‘type-de-connexion’ avec le ‘nom-de-connexion’ spécifique.
– La bibliothèque d’attachement que vous utilisez provient d’une version précédente de Db2 qui ne prend pas en charge les options ENABLE et DISABLE de l’opération de liaison.

Les variables sont :

package-name
Le nom du package (collection.package-id).

connection-type
L’un des éléments suivants : BATCH, DB2CALL, REMOTE, IMSBMP, IMSMPP, CICS®, DLIBATCH ou UNKNOWN.

connection-name
Nom de la connexion restreinte. Si tous les noms de connexion d’un type de connexion spécifique sont limités, cette valeur n’est pas spécifiée.

Action du système :
L’instruction n’est pas exécutée et le package n’est pas alloué.

Réponse du programmeur système :
L’un des éléments suivants :
– Reconnectez le package pour lui permettre de s’exécuter avec le type et le nom de connexion requis.
– Vérifiez la table de catalogue SYSPLSYSTEM ou SYSPKSYSTEM pour trouver une connexion à partir de laquelle le package peut être exécuté. — Corrigez la bibliothèque attachée.

SQLSTATE :
23509

CODE RETOUR -808

THE CONNECT STATEMENT IS NOT CONSISTENT WITH THE FIRST CONNECT STATEMENT

Explication :
La sémantique CONNECT qui s’applique à un processus d’application est déterminée par la première instruction CONNECT exécutée (avec ou sans succès) par le processus d’application. L’une des règles suivantes a été enfreinte :
– Une instruction CONNECT de type 2 ne peut pas être exécutée après l’exécution d’une instruction CONNECT de type 1.
– Une instruction CONNECT de type 1 ne peut pas être exécutée après l’exécution d’une instruction CONNECT de type 2.

Action du système :
La déclaration ne peut pas être traitée.

Réponse du programmeur :
La cause probable de cette erreur est que différents programmes du processus d’application ont été précompilés avec différentes options CONNECT.

Assurez-vous que le processus d’application utilise des instructions CONNECT de type 1 ou de type 2, puis soumettez à nouveau le travail. Le type de CONNECT à utiliser est une option du précompilateur. La valeur par défaut est le type 2 CONNECT.

SQLSTATE :
08001

CODE RETOUR -812

THE SQL STATEMENT CANNOT BE PROCESSED BECAUSE A BLANK COLLECTION-ID WAS FOUND IN THE CURRENT PACKAGESET SPECIAL REGISTER WHILE TRYING TO FORM A QUALIFIED PACKAGE NAME FOR PROGRAM program-name.consistency-token USING PLAN plan-name

Explication :
La dernière entrée ou la seule entrée dans la liste des packages pour le plan contenait un astérisque (*) comme valeur de l’ID de collection. Le registre spécial CURRENT PACKAGESET doit être défini sur un ID de collection non vide pour former un nom de package qualifié.

Action du système :
La déclaration ne peut pas être traitée.

Réponse du programmeur :
Définissez le registre spécial CURRENT PACKAGESET sur l’ID de collecte correct ou demandez à votre administrateur système de vérifier l’exactitude de la liste des packages du plan.

Si cette erreur se produit dans une application qui s’exécute sous le pilote IBM® Data Server pour JDBC et SQLJ, vous avez peut-être trop d’objets Statement, PreparedStatement ou CallableStatement ouverts simultanément. Modifiez votre application pour réduire le nombre d’objets ouverts simultanément ou exécutez à nouveau l’utilitaire DB2Binder avec une valeur de paramètre -size supérieure pour augmenter le nombre de packages disponibles pour le pilote.

SQLSTATE :
22508

CODE RETOUR -819

THE VIEW CANNOT BE PROCESSED BECAUSE THE LENGTH OF ITS PARSE TREE IN THE CATALOG IS ZERO

Explication :
SYSIBM.SYSVTREE.VTREE est une colonne de chaîne de longueur variable qui contient les arborescences d’analyse des vues. Lors du traitement d’une vue, le champ de contrôle de longueur de son arbre d’analyse s’est avéré être égal à zéro.

Action du système :
La déclaration ne peut pas être traitée.

Réponse du programmeur :
C’est une erreur de système. Si vous suspectez une erreur dans Db2, vous devrez peut-être signaler le problème. Pour plus d’informations sur l’identification et le signalement du problème, voir Collecte des données de diagnostic.

SQLSTATE :
58004

CODE RETOUR -820

THE SQL STATEMENT CANNOT BE PROCESSED BECAUSE catalog-table CONTAINS A VALUE THAT IS NOT VALID IN THIS RELEASE

Explication :
Une colonne de la table de catalogue indiquée contient une valeur qui empêche la poursuite du traitement d’une instruction SQL. La signification de la valeur est inconnue dans la version de Db2. Si un repli s’est produit, la valeur est probablement le résultat de l’utilisation d’une nouvelle fonction avant le repli.

Action du système :
La déclaration ne peut pas être traitée.

Réponse du programmeur :
Vérifiez que l’instruction fait référence aux tables ou vues voulues et que le problème est le résultat d’un repli. Si tel est le cas, l’instruction ne peut pas être corrigée car elle dépend d’une fonction qui n’est pas prise en charge dans la version actuelle. Si le problème n’est pas le résultat d’un repli, -820 est une erreur système. Si vous suspectez une erreur dans Db2, vous devrez peut-être signaler le problème. Pour plus d’informations sur l’identification et le signalement du problème, voir Collecte des données de diagnostic.

SQLSTATE :
58004