Archives de catégorie : SQLCODE

CODE RETOUR -010

THE STRING CONSTANT BEGINNING chaîne IS NOT TERMINATED

Explication :

L’ordre contient une constante chaîne, commançant par ‘chaîne’, qui n’est pas correctement terminée.

Action système :

L’ordre ne peut être exécuté.

Réponse programmeur :

Ajouter l’apostrophe ou le guillemet délimiteur dans la chaîne indiquée

CODE RETOUR -007

STATEMENT CONTAINS THE ILLEGAL CHARACTER caractère

Explication :

Le caractère précisé est invalide sur les ordres SQL.

Action système :

L’ordre ne peut être exécuté.

Réponse programmeur :

Corriger la syntaxe et réexécuter l’ordre. Consulter la documentation ” SQL Référence ” pour connaître le jeu de caractères SQL utilisables.

CODE RETOUR +802

EXCEPTION ERROR type-exception HAS OCCURRED DURING type-opération OPERATION ON type-donnée DATA, POSITION numéro-position

Explication :

Une erreur ‘type-exception’ est survenue pendant une opération d’addition, de soustraction, de multiplication, de division ou de négation sur un champ de type DECIMAL, FLOAT, SMALLINT ou INTEGER. Cette erreur s’est produite dans une expression arithmétique figurant dans la liste d’un SELECT externe, dont la position est donnée par ‘numéro- position’. Les ‘type-exception’ possibles sont : FIXED POINT OVERFLOW, DECIMAL OVERFLOW, DIVIDE EXCEPTION, et EXPONENT OVERFLOW. Le type de donnée peut être différent de celui de la colonne ou du littéral incriminé dans le cas d’une conversion par DB2.

Un FIXED POINT OVERFLOW peut apparaître dans une opération sur des champs INTEGER ou SMALLINT.

Un DECIMAL OVERFLOW peut apparaître lors de la perte de chiffres significatifs, due à une longueur trop courte du champ destiné à accueillir le résultat.

Un DIVIDE EXCEPTION peut apparaître lors d’une division par zéro d’un champ numérique, ou lorsque le quotient de la division dépasse la taille du champ spécifié.

Un EXPONENT OVERFLOW peut apparaître dans une opération en virgule flottante lorsque la mantisse dépasse 127 alors que l’exposant n’est pas zéro.

Note :

Les informations ‘type-exception’, ‘type-donnée’, ‘type-opération’, ‘numéro-position’ peuvent ne pas être retournées en SQLCA, en fonction du moment de détection de l’erreur.

Action système :

Pour chaque expression en erreur,la variable indicateur est positionnée à -2, la donnée n’est pas modifiée. L’exécution continue et fournit les valeurs pour chaque colonne et expression correcte de la liste du SELECT externe. Si l’ordre est contrôlé par curseur, le curseur reste ouvert.

Réponse programmeur :

Examiner l’expression pour laquelle s’est posé le problème. Analyser les données incriminées lors de la détection de l’erreur. Le problème peut être dépendant des données. Voir l’explication du code -405 pour les plages de valeurs des différents types de donnée.

CODE RETOUR +304

A VALUE WITH DATA TYPE type-donnée-1 CANNOT BE ASSIGNED TO A HOST VARIABLE BECAUSE THE VALUE IS NOT WITHIN THE RANGE OF THE HOST VARIABLE IN POSITION numéro-position WITH DATA TYPE type-donnée-2

Explication :

Sur un ordre FETCH ou SELECT INTO une host variable de type ‘type-donnée-2’ n’est pas assez grande pour accueillir une valeur extraite de type ‘type-donnée-1’. La host variable incriminée est identifiée par sa position ‘numéro-position’ à l’intérieur de la liste ou de la structure.

Action système :

L’ordre FETCH ou SELECT INTO ne transfère pas la valeur, la variable indicateur est positionnée à -2. Le traitement continu.

Réponse programmeur :

Vérifier que les définitions de la table sont en phase avec celles du programme, et que la host variable possède le bon type de donnée. Voir l’explication du code –405 pour les plages de valeurs des différents types de données.

CODE RETOUR +162

TABLESPACE nom-database.nom tablespace HAS BEEN PLACED IN CHECK PENDING

Explication :

Le tablespace cité est en statut CHECK PENDING, suite à l’ajout d’une contrainte d’intégrité référentielle par un ordre ALTER TABLE sur une table déjà chargée. Le tablespace est généralement indisponible tant que le statut CHECK PENDING subsiste.

Action système :

Le tablespace à été placé en statut CHECK PENDING.

Réponse programmeur :

II est conseillé d’utiliser l’utilitaire CHECK DATA.

CODE RETOUR +100

ROW NOT FOUND FOR FETCH, UPDATE OR DELETE, OR THE RESULT OF A QUERY IS AN EMPTY TABLE

Explication :

Une des conditions suivantes s’est produite :

– Aucune ligne ne satisfait les critères de recherche précisés sur un ordre UPDATE ou DELETE.

– Le résultat d’un ordre SELECT INTO est une table vide.

– Un ordre FETCH a été émis alors que le curseur était positionné après la dernière ligne de la table résultante (condition fin de table).

– Le résultat de la sous-requête d’un ordre INSERT est vide.

Lorsqu’un ordre SELECT est exécuté sous SPUFI, ce code retour indique une exécution normale (fin de la table résultat).

Action système :

Aucune donnée n’est extraite, mise à jour ou supprimée