Archives de catégorie : SQLCODE

CODE RETOUR -309

A PREDICATE IS INVALID BECAUSE A REFERENCED HOST VARIABLE HAS THE NULL VALUE

Explication :

L’ordre ne peut être traité car une host variable apparaît dans un prédicat sous la forme “nom-colonne = host-variable” et possède la valeur NULL.

Un tel prédicat n’est pas permis si la host variable contient la valeur NULL, même si la colonne peut contenir la valeur NULL.

Action système :

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

Réponse programmeur :

Cette fonction n’est pas supportée par DB2. La seule utilisation possible est un prédicat de la forme ‘nom-colonne IS NULL’..

CODE RETOUR -305

THE NULL VALUE CANNOT BE ASSIGNED TO OUTPUT HOST VARIABLE NUMBER numéro-position BECAUSE NO INDICATOR VARIABLE IS SPECIFIED

Explication :

Une opération FETCH ou SELECT INTO extrait une valeur NULL, à placer dans une host variable identifiée par ‘numéro-position’ qui ne comporte pas de variable indicateur. Une variable indicateur est obligatoire pour toute expression pouvant retourner une valeur NULL.

Action système :

L’ordre ne peut être exécuté. Aucune donnée n’est extraite.

Réponse programmeur :

Examiner la définition de la table impliquée dans le FETCH ou SELECT INTO. et corriger le programme d’application en codant une variable indicateur pour chaque expression susceptible de présenter une valeur NULL.

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 ne peut être exécuté. Si l’ordre est un FETCH, le curseur reste toutefois ouvert.

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ée.

CODE RETOUR -303

A VALUE CANNOT BE ASSIGNED TO OUTPUT HOST VARIABLE NUMBER numéro-position BECAUSE THE DATA TYPES ARE NOT COMPARABLE

Explication :

Un ordre FETCH ou SELECT sur une variable hôte en sortie, indiquée par numéro-position sur SQLDA, ne peut pas être traité car le type de donnée de la variable n’est pas compatible avec le type de donnée de l’élément de la liste du SELECT. La variable en sortie et l’élément correspondant de la liste du SELECT doivent entrer dans l’une des catégories suivantes :

  • Les deux valeurs doivent être des nombres.
  • Les deux valeurs doivent être des chaînes de caractères.
  • Les deux valeurs doivent être des chaînes graphiques.

De plus, pour des valeurs date/time et timestamp, la variable hôte doit être une chaîne de caractères de longueur appropriée.

Action système :

L’ordre FETCH ou SELECT ne peut être exécuté. Aucune donnée n’est extraite.

Réponse programmeur :

Vérifier que les définitions de la table sont à jour, et que la variable hôte possède le bon type de donnée.

CODE RETOUR -302

THE VALUE OF INPUT HOST VARIABLE NUMBER numéro-position IS INVALID OR TOO LARGE FOR THE TARGET COLUMN

Explication :

La variable hôte en entrée indiquée par numéro-position sur SQLDA, est invalide ou trop grande pour pouvoir alimenter la colonne correspondante de la table.

Les raisons possibles sont :

  • La colonne est définie comme chaîne et la variable hôte contient une chaîne qui est trop grande pour la colonne.
  • La colonne est définie numérique et la variable contient une valeur numérique trop grande pour la définition de la colonne.
  • La variable hôte est définie décimale mais contient une valeur invalide.

Action système :

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

Réponse programmeur :

Corriger le programme d’application. Vérifier le type de la colonne et la longueur de la valeur, ou le type de donnée et le contenu de la variable hôte numéro-position. S’assurer

que la valeur de la variable cadrera avec la colonne, ou contiendra une valeur décimal correcte. Une donnée décimale valide est un nombre décimal condensé S/370.

CODE RETOUR -301

THE VALUE OF INPUT HOST VARIABLE NUMBER numéro-position CANNOT BE USED AS SPECIPIED BECAUSE 0F ITS DATA TYPE

Explication :

La variable hôte en entrée indiquée par numéro-position sur SQLDA, ne peut pas être utilisée comme spécifié parce que son type de donnée est incompatible avec la fonction demandée.

Action système :

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

Réponse programmeur :

Vérifier que le type de donnée de la variables hôte est compatible avec la façon dont cette variable est utilisée.

CODE RETOUR -221

“SET OF OPTIONAL COLUMNS” IN EXPLANATION TABLE nom-table IS INCOMPLETE. OPTIONAL COLUMN nom- colonne IS MISSING

Explication :

L’ordre EXPLAIN suppose une définition correcte de la table PLAN_TABLE. La colonne optionnelle indiquée n’est pas définie. La table PLAN_TABLE doit comporter aucune, ou les trois colonnes optionnelles (PREFETCH, COLUMN_FN_EVAL, MIXOPSEQ).

Action système :

Aucune information EXPLAIN n’est générée.

Réponse programmeur :

Corriger la définition de la table PLAN_TABLE en incluant les trois colonnes optionnelles, ou en supprimant les colonnes optionnelles déjà codées.

CODE RETOUR -220

THE COLUMN nom-colonne IN EXPLANATION TABLE nom-table IS NOT DEFINED PROPERLY

Explication :

Une erreur s’est produite lors de l’insertion d’une ligne dans la table PLAN_TABLE. Cette table possède une définition incorrecte pour l’une des raisons suivantes :

  • Une colonne est manquante.
  • Les colonnes sont définies dans un mauvais ordre.
  • La table contient une colonne supplémentaire.
  • Une colonne possède une mauvaise description de nom, de type de donnée, de longueur, ou de règle de NULL.

Action système :

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

Réponse programmeur :

Corriger la définition de la table PLAN TABLE.

CODE RETOUR -219

THE REQUIRED EXPLANATION TABLE nom-table DOES NOT EXIST ~

Explication :

L’ordre EXPLAIN suppose l’existence de la table PLAN_TABLE qui n’est pas définie comme table de base dans le sous-système DB2.

Action système :

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

Réponse programmeur :

Déterminer si la table PLAN_TABLE existe. Si non, créer cette table, avant de réexécuter l’ordre EXPLAIN.

CODE RETOUR -208

THE ORDER BY CLAUSE IS INVALID BECAUSE COLUMN nom IS NOT PART OF THE RESULT TABLE

Explication :

L’ordre est invalide car la colonne de nom ‘nom’ précisée sur la liste de la clause ORDER BY ne fait pas partie de la table résultante (elle ne figure pas sur ta liste de la clause SELECT). Seules les colonnes apparaîssant dans la table résultante peuvent être utilisées comme critères de tri.

Action système :

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

Réponse programmeur :

Corriger la syntaxe de l’ordre en ajoutant la colonne spécifiée à la table résultante, ou en la supprimant de la liste de la clause ORDER BY.