Archives de catégorie : SQLCODE

CODE RETOUR -733

THE DESCRIPTION OF A TABLE SPACE, INDEX SPACE, OR TABLE IN A ROSHARE READ DATABASE MUST BE CONSISTENT WITH ITS DESCRIPTION IN THE OWNER SYSTEM

Explication :
Ce code est émis lors de la création d’un espace table, d’un index ou d’une table dans la base de données ROSHARE READ. Ces objets doivent être cohérents avec leurs descriptions dans la base de données ROSHARE OWNER comme suit :

1. Pour un espace table, les attributs suivants doivent être identiques :
– Taille de la page
– Taille des segments
– Nombre de partitions

2. Pour un index, les attributs suivants doivent être identiques :
– Nombre de partitions
– Nombre de sous-pages
– Tableau OBID
– Longueur totale de la clé
– Type d’index (index de type 1 ou de type 2)
– Nombre de colonnes clés

3. Pour une table, les attributs suivants doivent être identiques :
– Tableau OBID
– Longueur d’enregistrement maximale
– Le nombre de colonnes
– Si une procédure d’édition existe

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

Réponse du programmeur :
Assurez-vous que la définition de l’espace table, de l’index ou de la table est cohérente avec celle de la base de données ROSHARE OWNER.

SQLSTATE :
56056

CODE RETOUR -734

THE ROSHARE ATTRIBUTE OF A DATABASE CANNOT BE ALTERED FROM ROSHARE READ

Explication :
Tentative de modification d’une base de données de ROSHARE READ vers ROSHARE OWNER ou ROSHARE NONE.

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

Réponse du programmeur :
Vérifiez que la base de données correcte a été spécifiée dans l’instruction ALTER DATABASE. L’attribut ROSHARE d’une base de données partagée en lecture seule ne peut pas être modifié. Pour changer cela, DROP et recréez la base de données.

SQLSTATE :
56057

CODE RETOUR -731

USER-DEFINED DATASET dsname MUST BE DEFINED WITH SHAREOPTIONS(1,3)

Explication :
VSAM SHAREOPTIONS doit être (1,3) pour tous les index et espaces table de la base de données. L’ensemble de données défini par l’utilisateur identifié ne répondait pas à cette exigence.

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

Réponse du programmeur :
Assurez-vous que les ensembles de données utilisés dans la base de données partagée sont définis avec les SHAREOPTIONS appropriés.

SQLSTATE :
56054

CODE RETOUR -725

THE SPECIAL REGISTER register AT LOCATION location WAS SUPPLIED AN INVALID VALUE

Explication :
Db2 a reçu une instruction SET avec une valeur non valide. Les SET valides peuvent être autorisés ou conservés. Le traitement ultérieur s’arrête au site nommé jusqu’à ce que l’instruction SET soit corrigée.

Action du système :
Toutes les instructions SQL du site distant nommé sont rejetées jusqu’à ce que l’instruction SET erronée soit corrigée.

Réponse du programmeur :
L’instruction SET doit être réémise avec une valeur valide. Cette situation peut être corrigée avec une instruction SET locale ou avec une instruction DRDA SET exécutée sur le site distant. Une fois que le registre spécial a reçu une valeur valide, l’application peut reprendre son exécution.

SQLSTATE :
42721

CODE RETOUR -726

BIND ERROR ATTEMPTING TO REPLACE PACKAGE = package-name. THERE ARE ENABLE OR DISABLE ENTRIES CURRENTLY ASSOCIATED WITH THE PACKAGE

Explication :
La sous-commande BIND a été émise pour remplacer un package qui a des entrées ENABLE ou DISABLE actuellement associées au package.

Action du système :
Colis non lié.

Réponse du programmeur système :
FREE (liberez) d’abord le paquet, puis BIND (liez) le paquet.

SQLSTATE :
55030

CODE RETOUR -729

A STORED PROCEDURE SPECIFYING COMMIT ON RETURN CANNOT BE THE TARGET OF A NESTED CALL STATEMENT

Explication :
Une procédure stockée définie avec l’attribut COMMIT ON RETURN a été appelée à partir d’une procédure stockée, d’une fonction définie par l’utilisateur ou d’un déclencheur (trigger). Les procédures stockées définies avec COMMIT ON RETURN ne peuvent pas être imbriquées de cette manière.

Action du système :
L’instruction SQL n’est pas exécutée. Si l’instruction CALL fait référence à un serveur distant, l’unité d’oeuvre est placée dans un état d’annulation obligatoire.

Réponse du programmeur :
Supprimez le CALL à la procédure stockée qui a été définie avec l’attribut COMMIT ON RETURN.

SQLSTATE :
429B1

CODE RETOUR -730

THE PARENT OF A TABLE IN A READ-ONLY SHARED DATABASE MUST ALSO BE A TABLE IN A READ-ONLY SHARED DATABASE

Explication :
Tentative de définition d’une relation entre une table dans une base de données partagée en lecture seule et une table qui ne l’est pas.

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

Réponse du programmeur :
Assurez-vous que les tables correctes sont utilisées pour la relation en cours de définition.

SQLSTATE :
56053

CODE RETOUR -721

BIND ERROR FOR PACKAGE = pkg-id CONTOKEN = contoken‘X IS NOT UNIQUE SO IT CANNOT BE CREATED

Explication :
Tentative d’ajout ou de remplacement d’un package par un jeton de cohérence qui n’est pas unique pour ce package. En d’autres termes, la combinaison location.collection.package.consistency-token existe déjà.

pkg-id
Nom qualifié complet du package.
contoken
Jeton de cohérence en hexadécimal.

Action du système :
Le BIND échouera.

Réponse du programmeur système :
Vérifiez la table de catalogue SYSIBM.SYSPACKAGE pour les noms des packages d’application existants avec le jeton de cohérence indiqué. Relancez la sous-commande BIND de sorte que location.collection.package.consistency-token soit unique dans le catalogue. L’instruction SQL suivante peut être utilisée pour interroger le catalogue :

SELECT COLLID,NAME
FROM loc-id.SYSIBM.SYSPACKAGE
WHERE HEX(CONTOKEN) = contoken

SQLSTATE :
42710

CODE RETOUR -722

bind-type ERROR USING auth-id AUTHORITY PACKAGE package-name DOES NOT EXIST

Explication :
La sous-commande indiquée a été émise pour un package qui n’existe pas. Les champs variables individuels contiennent :

bind-type
Type de sous-commande de liaison (BIND | REBIND | FREE).
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 :
Colis non rebondi ou libéré.

Réponse du programmeur système :
Vérifiez la table de catalogue SYSPACKAGE pour le bon ‘location.collection.package.version’ à utiliser.

SQLSTATE :
42704

CODE RETOUR -723

AN ERROR OCCURRED IN A TRIGGERED SQL STATEMENT IN trigger-name. INFORMATION RETURNED: SQLCODE: sql-code, SQLSTATE: sql-state, MESSAGE TOKENS token-list, SECTION NUMBER section-number

Explication :
Lors de l’exécution d’une instruction UPDATE, MERGE, INSERT ou DELETE, un déclencheur (trigger) a été activé. L’une des instructions SQL déclenchées a reçu une condition d’erreur SQL.

trigger-name
Le déclencheur qui a été activé lorsque l’erreur s’est produite.
section-number
Numéro de section associé à l’instruction SQL déclenchée défaillante. Pour les déclencheurs qui contiennent une clause WHEN, la clause WHEN est la section numéro un. Les instructions SQL déclenchées sont numérotées séquentiellement, en commençant par la section numéro deux. Cela est vrai pour les déclencheurs avec ou sans clause WHEN.
sql-code
Une valeur numérique qui indique pourquoi l’exécution de l’instruction SQL a échoué. Ce code est reçu par le déclencheur activé.
sql-state
Le SQLSTATE correspondant pour le SQLCODE.
token-list
La liste des jetons de l’erreur SQL d’origine. Cette liste peut être tronquée.

Action du système :
Le déclencheur et l’instruction d’origine ne peuvent pas être traités. La table de déclenchement est inchangée.

Réponse du programmeur système :
Identifiez l’instruction SQL défaillante à l’aide de l’une des méthodes suivantes :

  • Utilisez le nom du déclencheur et le numéro de section.
  • Si la définition du déclencheur est disponible, utilisez le numéro de section.
  • Utilisez l’instruction SELECT suivante pour extraire l’instruction de la table de catalogue SYSIBM.SYSPACKSTMT :

SELECT STMT, SEQNO FROM SYSIBM.SYSPACKSTMT
WHERE COLLID = 'schema-name'
AND NAME = 'trigger-name'
AND SECTNOI = section-number
ORDER BY SEQNO

Le résultat STMT est au format Unicode, sauf si le déclencheur a été créé dans DB2 version 7 ou antérieure. Pour afficher un résultat Unicode au format EBCDIC, émettez la commande DISPLAY UTF8 dans le programme de navigation ISPF dans SPUFI.

Reportez-vous à l’explication du SQLCODE indiqué par sql-code dans ce code et prenez l’action ou les actions appropriées.

Réponse du programmeur :
Contactez votre administrateur de base de données pour déterminer pourquoi le déclencheur nommé dans le message a reçu l’erreur.

SQLSTATE :
09000