Archives de catégorie : SQLCODE

CODE RETOUR -130

THE ESCAPE CLAUSE CONSISTS OF MORE THAN ONE CHARACTER, OR THE STRING PATTERN CONTAINS AN INVALID OCCURRENCE OF THE ESCAPE CHARACTER

Explication :
Le caractère ESCAPE doit être un caractère unique, SBCS ou DBCS selon le cas. Pour ‘column-name LIKE pattern‘, le caractère ESCAPE ne peut apparaître dans la chaîne de caractères que s’il est suivi de lui-même, % ou _ (underscore). La clause d’échappement ne peut pas être spécifiée si le nom de colonne à gauche de LIKE ou NOT LIKE au sous-type MIXED.

Action du système :
L’instruction ne peut pas être traitée.

Réponse du programmeur :
Corrigez le modèle de chaîne, ou choisissez un caractère ESCAPE différent et modifiez le modèle en conséquence, ou éliminez l’utilisation de la clause d’échappement sur le prédicat LIKE ou NOT LIKE où le nom de colonne à gauche au sous-type MIXED.

ETATSQL :
22019 si autre que le modèle ESCAPE invalide. 22025 si modèle ESCAPE invalide.

CODE RETOUR -123

THE PARAMETER IN POSITION n IN THE FUNCTION name MUST BE A CONSTANT OR KEYWORD

Explication :
Le paramètre en position n dans le nom de la fonction n’est pas une constante lorsqu’il doit être une constante ou un mot-clé lorsqu’il doit être un mot-clé.

Action du système :
L’instruction ne peut pas être traitée.

Réponse du programmeur :
Action : Assurez-vous que chaque argument de la fonction est conforme à la définition du paramètre correspondant.

ETATSQL :
42601

CODE RETOUR -114

THE LOCATION NAME location DOES NOT MATCH THE CURRENT SERVER

Explication :
Un nom de procédure SQL en trois parties a été fourni pour l’une des instructions SQL suivantes :

ASSOCIATE LOCATORS
CALL
DESCRIBE PROCEDURE

La première partie du nom de la procédure SQL, qui spécifie l’emplacement où réside la procédure stockée, ne correspondait pas à la valeur du registre spécial SQL CURRENT SERVER.

Action du système :
L’instruction ne peut pas être traitée.

Réponse du programmeur :

Effectuez l’une des actions suivantes pour résoudre l’incompatibilité :

  • Modifiez le qualificateur d’emplacement pour qu’il corresponde au registre spécial CURRENT SERVER.
  • Émettez un SQL CONNECT à l’emplacement où réside la procédure stockée avant d’émettre l’instruction SQL. Assurez-vous que l’instruction SQL CALL est émise avant ASSOCIATE LOCATORS ou DESCRIBE PROCEDURE.
  • Liez le package contenant le nom de la procédure SQL en 3 parties avec l’option BIND DBPROTOCOL(DRDA). Avec cette option, Db2 utilise implicitement le protocole DRDA pour l’accès à distance à la procédure stockée.
  • Corrigez les instructions de sorte que la syntaxe exacte utilisée pour spécifier le nom de la procédure sur l’instruction CALL soit la même que celle sur ASSOCIATE LOCATOR et/ou DESCRIBE PROCEDURE. Si un nom non qualifié est utilisé pour CALL la procédure, le nom en une partie doit également être utilisé sur les autres instructions. Si l’instruction CALL est faite avec un nom en trois parties et que le serveur actuel est le même que l’emplacement dans le nom en trois parties, la procédure ASSOCIATE LOCATOR ou DESCRIBE peut omettre l’emplacement.

ETATSQL :
42961

CODE RETOUR -108

THE NAME name IS QUALIFIED INCORRECTLY

Explication :
Le nom name n’est pas qualifié correctement.

Un nom cible sur l’instruction RENAME peut ne pas avoir de qualificatif de schéma.

Action du système :
L’instruction ne peut pas être traitée.

Réponse du programmeur :
Supprimez le qualificateur de schéma et réémettez l’instruction.

ETATSQL :
42601

CODE RETOUR -097

THE USE OF LONG VARCHAR OR LONG VARGRAPHIC IS NOT ALLOWED IN THIS CONTEXT

Explication :
L’instruction a tenté d’utiliser la syntaxe LONG VARCHAR ou LONG VARGRAPHIC. Cette syntaxe ne peut pas être utilisée pour les instructions suivantes :

  • CAST specification syntax
  • CREATE DISTINCT TYPE
  • CREATE FUNCTION
  • CREATE PROCEDURE
  • ALTER FUNCTION
  • COMMENT ON FUNCTION
  • GRANT EXECUTE ON FUNCTION
  • REVOKE EXECUTE ON FUNCTION
  • DROP


Utilisez la syntaxe VARCHAR ou VARGRAPHIC en spécifiant une longueur explicite si nécessaire.

Action du système :
L’instruction ne peut pas être traitée.

Réponse du programmeur :
Corrigez l’énoncé.

ETATSQL :
42601

CODE RETOUR -096

VARIABLE variable-name DOES NOT EXIST OR IS NOT SUPPORTED BY THE SERVER AND A DEFAULT VALUE WAS NOT PROVIDED

Explication :
Pour une variable globale, la variable n’existe pas sur ce serveur.

Pour une variable globale de session intégrée, la fonction GETVARIABLE a été invoquée. Cependant, une valeur n’existe pas pour une variable avec le nom qui a été spécifié et une valeur par défaut n’a pas été fournie.

  • Si le qualificateur est SESSION, une variable définie par l’utilisateur avec le nom spécifié n’a pas été définie par la routine d’exit de connexion ou d’ouverture de session.
  • Si le qualificateur est SYSIBM, le serveur ne prend pas en charge une variable de session intégrée dont le nom a été spécifié.

variable-name

Le nom de la variable.

Action du système :

L’instruction ne peut pas être traitée.

Réponse du programmeur :
Pour une variable globale, créez la variable sur ce serveur à l’aide de l’instruction CREATE VARIABLE.

Pour une variable globale de session intégrée, modifiez l’appel de la fonction pour spécifier une valeur par défaut pour variable-name  ou spécifiez une variable prise en charge sur le serveur.

ETATSQL :
42704

CODE RETOUR -087

A NULL VALUE WAS SPECIFIED IN A CONTEXT WHERE A NULL IS NOT ALLOWED

Explication :
Un paramètre SQL ou une variable SQL ayant une valeur nulle a été spécifié dans un contexte dans lequel une valeur nulle n’est pas autorisée. Par exemple, une instruction SQL peut être spécifiée avec un paramètre SQL ou une variable SQL sur les instructions PREPARE et EXECUTE. Dans ces contextes, la valeur d’un paramètre SQL ou d’une variable SQL ne doit pas être nulle.

Action du système :
L’instruction ne peut pas être traitée.

Réponse de l’utilisateur :
Corrigez l’instruction SQL.

ETATSQL :
22004

CODE RETOUR -079

QUALIFIER FOR OBJECT name WAS SPECIFIED AS qualifier1 but qualifier2 IS REQUIRED

Explication :
Le qualificateur de schéma pour l’objet Db2 doit être qualifier2. L’instruction définit un nouvel objet nommé name avec un qualificateur de schéma explicite de qualifier1. La spécification d’un qualificateur de schéma autre que qualifier2 n’est pas autorisée.

Action du système :
L’instruction ne peut pas être traitée.

Réponse du programmeur :
Modifiez l’instruction de l’une des manières suivantes :

  • Remplacez le qualificateur de schéma par qualificateur2.
  • Supprimez le qualificateur de schéma et laissez Db2 par défaut à qualificateur2.

ETATSQL :
428EK

CODE RETOUR -078

PARAMETER NAMES MUST BE SPECIFIED FOR ROUTINE routine-name

Explication :
La routine n’a pas de noms de paramètres spécifiés pour tous les paramètres.

routine-name
Le nom de la routine.

Lorsque la routine SQL est définie avec LANGUAGE SQL, un nom de paramètre est requis pour chaque paramètre défini. Pour les procédures SQL natives, LANGUAGE SQL est facultatif, mais pour les procédures SQL externes, LANGUAGE SQL est requis.

Action du système :
L’instruction ne peut pas être traitée.

Réponse du programmeur :
Assurez-vous que chaque paramètre défini comprend un nom de paramètre.

ETATSQL :
42629

CODE RETOUR -058

VALUE SPECIFIED ON RETURN STATEMENT MUST BE AN INTEGER

Explication :
Une instruction RETURN est spécifiée dans une procédure SQL mais la valeur spécifiée n’est pas un entier. La valeur de retour d’une procédure SQL doit être un entier.

Action du système :
L’instruction ne peut pas être traitée.

Réponse de l’utilisateur :
Spécifiez une valeur entière dans l’instruction RETURN. Réessayez la demande.

ETATSQL :
428F2