Archives de catégorie : SQLCODE

CODE RETOUR -724

THE ACTIVATION OF THE object-type OBJECT object-name WOULD EXCEED THE MAXIMUM LEVEL OF INDIRECT SQL CASCADING

Explication :
La cascade de SQL indirect se produit lorsqu’un déclencheur (trigger), une fonction définie par l’utilisateur ou une procédure stockée appelle un autre déclencheur, une fonction définie par l’utilisateur ou une procédure stockée qui, à son tour, en appelle un autre. L’activation de certains des déclencheurs de cette chaîne peut être due à l’application de règles de suppression de contraintes référentielles. La profondeur de cette cascade est limitée à 16.

Notez que les situations récursives dans lesquelles un déclencheur inclut une instruction SQL déclenchée qui provoque directement ou indirectement l’activation du même déclencheur sont très susceptibles de provoquer cette erreur. Le déclencheur doit contenir une logique pour rechercher une condition de fin afin d’éviter cette erreur.

object-type
Nomme le type d’objet appelé. Le type d’objet est TRIGGER, FUNCTION ou PROCEDURE.
object-name
Spécifie le nom du déclencheur, de la fonction définie par l’utilisateur ou de la procédure stockée qui aurait été activé au dix-septième niveau de cascade.

Action du système :
L’instruction d’origine n’a pas pu être exécutée. Toutes les instructions SQL exécutées par tous les déclencheurs, les fonctions définies par l’utilisateur et les procédures stockées dans la chaîne en cascade sont annulées. Les actions externes effectuées par le SQL indirect, telles que l’envoi d’un message réseau, peuvent déjà avoir eu lieu.

Réponse du programmeur :
Commencez par le SQL indirect activé par l’opération SQL d’origine. Recherchez des modèles récursifs dans toutes les fonctions définies par l’utilisateur appelées ou dans tous les déclencheurs définis au sujet d’une opération de mise à jour. Si la chaîne n’est pas récursive, la chaîne en cascade doit être simplifiée en modifiant les déclencheurs, les fonctions définies par l’utilisateur ou les procédures stockées impliquées.

SQLSTATE :
54038

CODE RETOUR -720

BIND ERROR, ATTEMPTING TO REPLACE PACKAGE = package_name WITH version= version2 BUT THIS VERSION ALREADY EXISTS

Explication :
Tentative de création d’une version d’un package qui existe déjà. La version spécifiée dans le mot-clé REPLVER est différente de la version spécifiée pour la précompilation. La version spécifiée pour la précompilation existe déjà dans le catalogue. La combinaison ‘location.collection.package.version’ doit être unique dans la table de catalogue SYSIBM.SYSPACKAGE. Une erreur courante est que l’utilisateur peut croire que la version qu’il crée est celle spécifiée dans le mot-clé REPLVER. Ce n’est pas le cas. La version spécifiée dans le mot-clé REPLVER est le nom de la version remplacée. La version qui sera créée est la version qui a été donnée au programme lors de sa précompilation.

package_name
Nom complet du package
version2 
ID de version du package à créer

Action du système :
La liaison échouera.

Réponse du programmeur système :
Il existe deux approches pour résoudre ce problème. La première consiste à précompiler à nouveau le programme avec un nouveau nom de version et à relancer la sous-commande BIND d’origine. L’autre approche consiste à ne pas effectuer la précompilation mais à relancer la sous-commande BIND avec REPLVER(SAME).

SQLSTATE :
42710

CODE RETOUR -719

BIND ADD ERROR USING auth-id AUTHORITY PACKAGE package-name ALREADY EXISTS

Explication :
Tentative d’ajout d’un package qui existe déjà. La combinaison ‘location.collection.package.version’ doit être unique dans la table SYSIBM.SYSPACKAGE. De plus, la combinaison de ‘location.collection.package.consistency-token’ doit être unique.

auth-id
ID d’autorisation de l’appelant de la sous-commande BIND.
package-name
Nom du package (location.collection.package.version).

Action du système :
Aucun package n’est créé.

Réponse du programmeur système :
Vérifiez la table de catalogue SYSIBM.SYSPACKAGE pour les noms des packages d’application existants. Appelez à nouveau la sous-commande BIND, avec un ‘location.collection.package.version’ qui n’est pas utilisé.

SQLSTATE :
42710

CODE RETOUR -713

THE REPLACEMENT VALUE FOR special-register IS INVALID

Explication :
La valeur spécifiée dans l’instruction de SET special-register n’est pas une valeur valide du registre special register.

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

Réponse du programmeur :
Voir la description de l’instruction de registre spéciale et corriger la valeur de remplacement.

SQLSTATE :
42815 ou 3F000

CODE RETOUR -715

PROGRAM program-name WITH MARK release-dependency-mark FAILED BECAUSE IT DEPENDS ON FUNCTIONS OF THE RELEASE FROM WHICH FALLBACK HAS OCCURRED

Explication :
Le programme program-name dépend d’une fonction de Db2 qui n’est pas prise en charge par la version active actuelle.

program-name
Nom du programme d’application.
release-dependency-mark
Une marque à 1 caractère indiquant la version la plus ancienne de Db2 prenant en charge ce programme.

Action du système :
L’opération BIND pour ce plan ou package n’est pas effectuée.

Réponse de l’opérateur :
Avertissez le programmeur système.

Réponse du programmeur système :
Avertissez les utilisateurs de ne pas utiliser de plans ou de packages contenant ce programme tant que le sous-système Db2 n’a pas été remigré vers la version la plus récente.

Réponse de l’utilisateur :
Le programme ne peut pas être utilisé tant que le sous-système Db2 n’a pas été remigré vers la version la plus récente.

SQLSTATE :
56064

CODE RETOUR -716

PROGRAM program-name PRECOMPILED WITH INCORRECT LEVEL FOR THIS RELEASE

Explication :
Le programme program-name a été précompilé sous une version non prise en charge par le niveau actuel de Db2, ou le contenu du DBRM a été modifié après la phase de précompilation.

Réponse de l’utilisateur :
Précompilez à nouveau le programme nommé en utilisant le précompilateur actuel. Relancez la sous-commande BIND.

Détermination du problème :
Si le programme a été précompilé dans une version appropriée et que le problème persiste, collectez les éléments suivants :

  • Une impression hexadécimale du premier enregistrement du DBRM défaillant
  • La liste du travail de précompilation qui a généré le DBRM
  • Sortie de la tentative BIND.

SQLSTATE :
56065

CODE RETOUR -717

bind-type FOR object-type object-name WITH MARK release-dependency-mark FAILED BECAUSE object-type DEPENDS ON FUNCTIONS OF THE RELEASE FROM WHICH FALLBACK HAS OCCURRED

Explication :
Le plan ou le package indiqué dépend d’une fonction de Db2 qui n’est pas prise en charge par la version actuellement active.

bind-type
REBIND
object-type
PLAN | PACKAGE
nom_objet
Nom du plan d’application ou du package
release-dependency-mark 
Une marque à un caractère indiquant la version la plus ancienne de Db2 peut prendre en charge ce plan ou ce package. La marque de dépendance de version pour le plan est conservée dans les colonnes IBMREQD du catalogue Db2 dans SYSIBM.SYSPLAN (plans), SYSIBM.SYSPACKAGE (packages).

Action du système :
L’opération REBIND pour ce plan ou package n’est pas effectuée.

Réponse de l’opérateur :
Avertissez le programmeur système.

Réponse du programmeur système :
Avertissez les utilisateurs de ne pas utiliser le plan ou le package tant que le sous-système Db2 n’a pas été remigré vers la version la plus récente.

Réponse de l’utilisateur :
Le plan ou le package ne peut pas être utilisé tant que le sous-système Db2 n’a pas été remigré vers la version la plus récente.

SQLSTATE :
56066

CODE RETOUR -697

OLD OR NEW CORRELATION NAMES ARE NOT ALLOWED IN A TRIGGER DEFINED WITH THE FOR EACH STATEMENT CLAUSE. OLD_TABLE OR NEW_TABLE NAMES ARE NOT ALLOWED IN A TRIGGER WITH THE BEFORE CLAUSE.

Explication :
Le déclencheur (trigger), tel qu’il est défini, inclut une clause REFERENCING avec l’une des combinaisons non valides suivantes :

  • OLD ou NEW noms de corrélation spécifiés (ou les deux) et la clause FOR EACH STATEMENT.
  • Noms de corrélation NEW_TABLE ou OLD_TABLE spécifiés (ou les deux) et la clause BEFORE.

Action du système :
La déclaration ne peut pas être traitée. Le déclencheur n’a pas été défini.

Réponse du programmeur :
Supprimez les noms de corrélation non valides ou modifiez la granularité du déclencheur sur FOR EACH ROW.

SQLSTATE :
42899

CODE RETOUR -694

THE SCHEMA STATEMENT CANNOT BE EXECUTED BECAUSE A DROP IS PENDING ON THE DDL REGISTRATION TABLE table-name

Explication :
Une erreur s’est produite lors de l’accès à la table d’enregistrement d’application ou à la table d’enregistrement d’objet. La table d’enregistrement d’application ou la table d’enregistrement d’objet a été supprimée, mais l’instruction DROP n’a pas été validée.

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

Réponse du programmeur :
Soumettez à nouveau le travail. Si la même erreur se produit, recherchez l’application qui a émis l’instruction DROP pour la table d’enregistrement d’application ou la table d’enregistrement d’objet. Validez l’instruction DROP qui a supprimé la table et créez une nouvelle table d’enregistrement d’application ou une nouvelle table d’enregistrement d’objet, ou émettez un ROLLBACK pour que l’instruction DROP remette les tables en place.

SQLSTATE :
57023

CODE RETOUR -695

INVALID VALUE seclabel SPECIFIED FOR SECURITY LABEL COLUMN OF TABLE table-name

Explication :
Pour une opération d’insertion ou de mise à jour dans la table table-name, la valeur spécifiée pour l’étiquette (label) de sécurité n’était pas valide.

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

Réponse du programmeur :
Assurez-vous que la valeur spécifiée pour la colonne d’étiquette de sécurité est une étiquette de sécurité valide. Vous pouvez également insérer la ligne qui spécifie DEFAULT pour la colonne d’étiquette de sécurité ou supprimer la colonne d’étiquette de sécurité de la liste d’insertion de colonnes.

SQLSTATE :
23523