Archives de catégorie : SQLCODE

CODE RETOUR -683

THE SPECIFICATION FOR COLUMN, DISTINCT TYPE, FUNCTION, OR PROCEDURE data-item CONTAINS INCOMPATIBLE CLAUSES

Explication :
La spécification de l’élément de données d’une instruction CREATE ou ALTER contient une erreur.

data-item
La source du problème, qui varie selon l’énoncé.

L’instructions CREATE DISTINCT TYPE :
Nom du type en cours de définition.
L’instructions CREATE FUNCTION ou ALTER FUNCTION :
La zone de l’instruction qui a provoqué l’erreur, telle que “PARAMETER 3”, “RETURNS” ou “CAST FROM”.
Instructions CREATE TABLE ou ALTER TABLE :
Nom de la colonne à l’origine de l’erreur. L’erreur peut être une spécification non valide de FOR BIT DATA, FOR SBCS DATA, FOR MIXED DATA ou FIELDPROC pour la définition de colonne.
Les restrictions supplémentaires suivantes s’appliquent aux instructions CREATE TABLE, ALTER TABLE ou aux deux :
– Dans une instruction ALTER TABLE, la modification de génération ne peut pas être spécifiée pour une colonne qui n’est pas définie en tant que colonne d’identité.
– Les colonnes pour une période BUSINESS_TIME doivent être définies avec un type de données DATE ou TIMESTAMP(6) WITHOUT TIME ZONE.
– Le type de données d’une colonne définie comme ROW BEGIN, ROW END ou TRANSACTION START ID doit être TIMESTAMP(12) WITHOUT TIME ZONE.


Causes générales
FIELDPROC ne peut être spécifié que pour les colonnes qui sont une chaîne de caractères intégrée ou un type de données de chaîne graphique qui n’est pas un LOB.
FIELDPROC ne peut pas être spécifié pour une colonne Unicode dans une table EBCDIC.

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

Réponse du programmeur :
Corrigez l’instruction SQL en supprimant la spécification incompatible.

SQLSTATE :
42842

CODE RETOUR -684

THE LENGTH OF CONSTANT LIST BEGINNING string IS TOO LONG

Explication :
La longueur de la liste de constantes commençant par ‘string ‘, à l’exclusion des blancs non significatifs et des parenthèses délimitantes, est supérieure à 255.

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

Réponse du programmeur :
Corrigez l’instruction SQL.

SQLSTATE :
54012

CODE RETOUR -685

INVALID FIELD TYPE, column-name

Explication :
La description de champ renvoyée par la procédure de champ n’est pas valide. Le code de type de données indique une longue chaîne ou a une valeur non valide.

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

Réponse du programmeur :
Corrigez la procédure de champ afin qu’elle renvoie un code de type de données valide.

SQLSTATE :
58002

CODE RETOUR -681

COLUMN column-name IN VIOLATION OF INSTALLATION DEFINED FIELD PROCEDURE. RT: return-code, RS: reason-code, MSG: message-token

Explication :
Une procédure de champ d’installation a renvoyé une erreur pour ‘column-name‘. Le ‘reason-code‘ et le ‘message-token‘ sont définis par la procédure de champ. Ils peuvent donner des informations supplémentaires pour aider à déterminer la cause du problème.

Code retour

4Valeur non valide lors de l’encodage ou du décodage ou description de colonne non valide lors de la définition
8Valeur de paramètre invalide
12Erreur de procédure de champ sur n’importe quelle fonction

Utilisez le ‘reason-code‘ et ‘message-token‘ pour plus d’informations.

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

Réponse du programmeur :
S’il ne s’agit pas d’une erreur de procédure sur le terrain, déterminez les exigences imposées par la procédure sur le terrain. S’il s’agit d’une erreur de procédure de champ, examinez la procédure de champ.

SQLSTATE :
23507

CODE RETOUR -679

THE OBJECT name CANNOT BE CREATED BECAUSE A DROP IS PENDING ON THE OBJECT

Explication :
Le programme d’application a exécuté un DROP pour l’objet spécifié, puis a essayé de recréer un objet avec le même nom (et du même type) avant que le DROP ne soit terminé.

Si l’objet est un index, cette erreur est renvoyée si l’index à créer utilise le même nom d’espace d’index que l’index qui a été supprimé sans validation.

Action du système :
La déclaration ne peut pas être traitée. L’objet spécifié n’a pas été créé.

Réponse du programmeur :
La logique du programme d’application doit être modifiée pour émettre un COMMIT (ou l’équivalent IMS ou CICS®) entre les instructions DROP et CREATE.

SQLSTATE :
57006

CODE RETOUR -680

TOO MANY COLUMNS SPECIFIED FOR A TABLE, VIEW OR TABLE FUNCTION

Explication :
Le nombre maximal de colonnes autorisées par table, vue ou fonction de table est de 750. L’instruction a tenté d’effectuer l’une des actions suivantes :

  • CREATE ou ALTER une table pour contenir plus de 750 colonnes
  • CREER une vue avec plus de 750 colonnes
  • CREATE une fonction de table avec plus de 750 colonnes dans la clause RETURNS TABLE

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

Réponse du programmeur :
Modifiez l’instruction CREATE pour ne pas inclure plus de 750 colonnes ou n’essayez pas de modifier une table existante pour qu’elle contienne plus de 750 colonnes.

SQLSTATE :
54011

CODE RETOUR -672

OPERATION DROP NOT ALLOWED ON TABLE table_name

Explication :
L’opération DROP a échoué pour l’une des raisons suivantes :
– La table en cours de suppression possède l’attribut RESTRICT ON DROP.
– L’espace table ou la base de données en cours de suppression contient la table spécifiée, qui possède l’attribut RESTRICT ON DROP.

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

Réponse du programmeur :
Avant de supprimer la table, modifiez la table en spécifiant DROP RESTRICT ON DROP.

Pour DROP TABLESPACE ou DROP DATABASE, assurez-vous qu’il n’y a pas d’autres tables dans l’espace table ou la base de données avec l’attribut RESTRICT ON DROP. L’instruction SELECT suivante peut identifier les tables :

SELECT CREATOR, NAME
FROM SYSIBM.SYSTABLES
WHERE TYPE = 'T'
AND CLUSTERTYPE = 'Y'
AND DBNAME = 'database_name'
AND TSNAME = 'tablespace_name';


SQLSTATE :
55035

CODE RETOUR -676

THE PHYSICAL CHARACTERISTICS OF THE INDEX ARE INCOMPATIBLE WITH RESPECT TO THE SPECIFIED STATEMENT. THE STATEMENT HAS FAILED. REASON reason-code

Explication :
Un code anomalie est émis lors du traitement d’une instruction CREATE INDEX ou ALTER INDEX. Lorsque l’instruction échoue, la raison de l’échec est indiquée par la valeur de code de raison suivante :

0001Vous avez spécifié un pool de mémoire tampon avec une taille de page autre que 4 Kb dans l’instruction CREATE ou ALTER INDEX.
0002Une instruction ALTER INDEX ou CREATE INDEX entraîne une combinaison non valide d’une taille de page de 4 Kb et de COMPRESS YES. Ce code de raison sera émis pour les raisons suivantes :
– Si vous avez tenté de CREATE ou ALTER un index, vous n’avez pas spécifié de pool de mémoire tampon dont la taille de page est prise en charge pour la compression d’index. Vous ne pouvez choisir qu’un pool de mémoire tampon avec une taille de page de 8 Kb, 16 Kb ou 32 Kb pour un index compressé.
– Si vous avez essayé d’ALTER un index en utilisant ALTER INDEX avec la clause COMPRESS YES, l’index existant n’est pas défini avec un pool de mémoire tampon qui a une taille de page de 8 Kb, 16 Kb ou 32 Kb, et par conséquent, l’index ne peut pas être compressé.
0003L’instruction ALTER INDEX a généré un index dont la taille de page sur le disque est incompatible avec le CISIZE de l’ensemble de données gérées non-Db2 sous-jacent de l’index. Ce code de raison sera émis pour les raisons suivantes :
Si l’index n’est pas compressé, une taille de page de 4 Kb doit résider dans un ensemble de données qui a un CISIZE de 4 Kb. Une taille de page supérieure à 4 Kb doit avoir un CISIZE qui est de 4 Kb ou égal à la taille de la page.
Si l’index est compressé, les pages d’index sur le disque font toujours 4 Kb. Le CISIZE pour l’ensemble de données doit également être de 4 Kb.


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

Réponse du programmeur :
En fonction de la valeur du code de motif, effectuez l’action suivante :

0001Remplacez la spécification du pool de mémoire tampon par le nom d’un pool de mémoire tampon avec une taille de page de 4 Kb.
0002Modifiez l’instruction afin qu’elle n’entraîne pas un index compressé avec une taille de page de 4 Kb.
0003ALTER the STOGROUP pour utiliser un ensemble de données gérées Db2 ou modifier le CISIZE de l’ensemble de données géré par l’utilisateur pour qu’il soit compatible avec les options d’index spécifiées. Si l’index est compressé, le CISIZE doit être de 4 Kb. Sinon, le CISIZE doit correspondre à la taille de la page ou être de 4 Kb.

SQLSTATE :
53041

CODE RETOUR -677

INSUFFICIENT VIRTUAL STORAGE FOR BUFFERPOOL EXPANSION

Explication :
Une tentative d’ouverture (création) ou d’extension d’un pool de mémoire tampon a échoué car la mémoire virtuelle disponible était insuffisante.

Cette erreur peut se produire dans l’une des deux circonstances suivantes :

  • Tentative de création d’un pool de mémoire tampon lors de l’ouverture d’un espace table ou d’un index (espace), ou
  • Tentative d’extension d’un pool de mémoire tampon de sa taille actuelle à sa taille maximale.

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

Réponse du programmeur :
Si cette erreur se produit lors de l’exécution interactive d’une instruction SQL ou de l’exécution d’un programme d’application, l’administration de l’installation doit en être informée.

Action d’installation : Il peut être nécessaire de réexaminer la stratégie de stockage du pool de mémoire tampon.

L’un des messages suivants a également été envoyé à la console MVS™ : DSNB601I, DSNB603I ou DSNB605I.

SQLSTATE :
57011

CODE RETOUR -678

THE CONSTANT constant SPECIFIED FOR THE INDEX LIMIT KEY MUST CONFORM TO THE DATA TYPE data-type OF THE CORRESPONDING COLUMN column-name

Explication :
La constante de valeur de clé de limite d’index a été spécifiée de manière incorrecte dans l’instruction CREATE INDEX ou ALTER INDEX.

Les spécifications de valeur de clé de limite doivent être conformes au type de données de la colonne de clé d’index correspondante. Dans ce cas, la constante doit être du type de données data-type pour être conforme au type de données de la colonne column-name.

Action du système :
La déclaration ne peut pas être traitée. L’index n’a pas été créé.

Réponse du programmeur :
Corrigez l’instruction afin que chaque constante de valeur de clé de limite soit exactement du même type de données que celle de la colonne de clé d’index correspondante.

SQLSTATE :
53045