Archives de catégorie : SQLCODE

CODE RETOUR -874

THE ENCODING SCHEME SPECIFIED FOR THE object-type MUST BE THE SAME AS THE CONTAINING TABLE SPACE OR OTHER PARAMETERS

Explication :
Une clause CCSID a été incorrectement spécifiée dans l’une des situations suivantes :

  • Dans une instruction CREATE TABLE ou ALTER TABLE :
    • CCSID ASCII a été spécifié et l’espace table contenant est EBCDIC ou UNICODE.
    • Le CCSID EBCDIC a été spécifié et l’espace table contenant est ASCII ou UNICODE.
    • CCSID UNICODE a été spécifié et l’espace table contenant est ASCII ou EBCDIC.
  • Dans un fullselect qui crée une table, les éléments suivants n’étaient pas les mêmes :
    • Le schéma d’encodage de la table de résultat du fullselect
    • Le schéma de codage dans la clause CCSID (si spécifié)
    • Schéma de codage de l’espace table cible
  • Dans une instruction CREATE TYPE pour un tableau, la clause CCSID a été spécifiée pour le type de données des éléments du tableau et pour le type de données de l’index. Les spécifications CCSID pour les éléments du tableau et pour l’index n’étaient pas les mêmes.

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

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

  • Pour une instruction CREATE TABLE ou ALTER TABLE, faites en sorte que la valeur CCSID de l’instruction CREATE TABLE ou ALTER TABLE soit identique au CCSID de l’espace table contenant.
  • Pour un fullselect qui crée une table, faites en sorte que tous les éléments suivants soient identiques :
    • Le schéma d’encodage de la table de résultat du fullselect
    • Le schéma de codage dans la clause CCSID (si spécifié)
    • Schéma de codage de l’espace table cible
  • Pour une instruction CREATE TYPE pour un tableau, faites en sorte que la spécification CCSID pour les éléments du tableau et pour l’index soit la même.

SQLSTATE :
53091

CODE RETOUR -875

operand CANNOT BE USED WITH THE ASCII DATA REFERENCED

Explication :
Les données ASCII ont été référencées dans l’une des situations suivantes :
– Un prédicat LIKE fait référence à une colonne de données mixtes dans une table ASCII. Le prédicat LIKE n’est pas pris en charge pour les données ASCII mixtes.
– Une fonction VARGRAPHIC a été spécifiée pour une colonne dans une table ASCII. La fonction VARGRAPHIC n’est pas prise en charge pour les données ASCII.

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

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

SQLSTATE :
42988

CODE RETOUR -876

object-type CANNOT BE CREATED OR ALTERED, REASON reason-code

Explication :
L’objet dans l’instruction SQL ne peut pas être créé ou modifié.

object-type
Le type d’objet qui n’a pas pu être créé ou modifié :

TYPE 1 INDEXL’objet que l’instruction SQL a tenté de créer est un index de type 1.
INDEXL’objet que l’instruction SQL a tenté de créer est un index.
TABLEL’objet que l’instruction SQL a tenté de créer ou de modifier est une table.
TABLESPACEL’objet que l’instruction SQL a tenté de modifier est un espace table.



reason-code
Une valeur qui indique la raison de l’échec.

TABLE DÉFINI COMME ASCIILa table sous-jacente est définie au format ASCII. Seuls les index de type 2 sont pris en charge pour les tables ASCII.
PIECESIZE N’EST PAS VALIDEPIECESIZE n’est valide que pour les index non partitionnés.
LE NOM DE LA COLONNE EN EBCDIC DÉPASSE 18 OCTETS, OU LA CONVERSION D’UNICODE EN EBCDIC A ÉCHOUÉLa table en cours de création ou de modification comporte une procédure d’édition définie avec une sensibilité d’attribut de ligne, une procédure de champ ou une procédure de validation. Dans ces cas, le nom de colonne dans EBCDIC ne peut pas dépasser 18 octets EBCDIC de longueur, ou la conversion d’un nom de colonne d’UNICODE en EBCDIC a échoué.
BASE TABLESPACE EST LOG YES, LOB TABLESPACE EST LOG NOUn index spatial ne peut pas être créé car les espaces table suivants ont les attributs indiqués :
L’espace table qui contient la table de base possède l’attribut LOG YES (ou LOGGED).
L’espace table LOB qui stocke la colonne LOB possède l’attribut LOG NO (ou NOT LOGGED).
CONTIENT UNE SPATIAL COLUMNL’attribut LOG YES d’un espace table LOB ne peut pas être modifié en LOG NO si un index dépend de la colonne LOB.
L’attribut LOG NO d’un espace table ne peut pas être modifié en LOG YES s’il contient une table avec un index qui dépend d’une colonne LOB de la table.
6La valeur de l’un des paramètres de sous-système suivants a interdit la définition d’une table partitionnée contrôlée par index :

PREVENT_NEW_IXCTRL_PART
La valeur du paramètre de sous-système PREVENT INDEX PART CREATE interdisait la création d’une table partitionnée contrôlée par index avec une instruction CREATE TABLE.

PREVENT_ALTERTB_LIMITKEY
La valeur du paramètre de sous-système PREVENT ALTER LIMITKEY interdisait la modification de la clé de limite d’une table partitionnée contrôlée par index avec une instruction ALTER TABLE.

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

Réponse du programmeur :
Corrigez l’instruction SQL pour l’objet en cours de création ou de modification.

SQLSTATE :
53092

CODE RETOUR -877

CCSID ASCII OR CCSID UNICODE IS NOT ALLOWED FOR THIS DATABASE OR TABLE SPACE

Explication :
La base de données ou l’espace table spécifié doit être au format EBCDIC.

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

Réponse du programmeur :
Supprimez la clause CCSID ASCII ou CCSID UNICODE de l’instruction.

SQLSTATE :
53093

CODE RETOUR -878

THE explain-object USED FOR EXPLAIN MUST BE ENCODED IN UNICODE. IT CANNOT BE IN ASCII OR EBCDIC.

Explication :
Un objet de table EXPLAIN a été encodé dans le mauvais format. Il doit être encodé en Unicode pour être utilisé avec EXPLAIN.

explain-object
Nom de l’objet de table d’explication.

Action du système :
L’instruction n’a pas été exécutée.

Réponse du programmeur :
Migrez les tables EXPLAIN du format de version actuel vers UNICODE pour le schéma actuel.

SQLSTATE :
53094

CODE RETOUR -879

CREATE or ALTER STATEMENT FOR object-name CANNOT DEFINE A COLUMN, TYPE, VARIABLE, FUNCTION OR STORED PROCEDURE PARAMETER AS MIXED OR GRAPHIC WITH ENCODING SCHEME encoding-scheme

Explication :
Une instruction CREATE ou ALTER TABLE ou une déclaration de variable SQL pour object-name  a tenté de définir une colonne, un type distinct ou un paramètre d’une fonction définie par l’utilisateur ou d’une procédure stockée en tant que données mixtes ou graphique lorsque le système n’a pas de CCSID approprié défini pour le encoding-scheme du schéma de codage.

  • Une instruction CREATE TYPE ne peut pas définir un type distinct, sur des données EBCDIC ou ASCII, avec un type source de caractère FOR MIXED DATA, ou GRAPHIC, VARGRAPHIC ou DBCLOB, lorsque l’option d’installation MIXED DATA est définie sur NO.
  • Une instruction CREATE TYPE pour un type de tableau ne peut pas être définie avec des données EBCDIC ou ASCII, et avec un type de données pour les éléments de tableau qui est caractère FOR MIXED DATA, GRAPHIC, VARGRAPHIC ou DBCLOB, lorsque l’option d’installation MIXED DATA est définie sur NO . Un type de tableau associatif ne peut pas être défini avec des données EBCDIC ou ASCII, et avec un type de données pour l’index de tableau qui est caractère FOR MIXED DATA, lorsque l’option d’installation MIXED DATA est définie sur NO.
  • Une instruction CREATE FUNCTION ou CREATE PROCEDURE ne peut pas définir un paramètre ou spécifier un type de données RETURNS, pour les données ASCII ou EBCDIC, comme caractère FOR MIXED DATA, GRAPHIC, VARGRAPHIC ou DBCLOB, lorsque l’option d’installation MIXED DATA est définie sur NO.

Cette erreur se produit uniquement lorsque le schéma de codage utilisé est EBCDIC ou ASCII. L’option d’installation MIXED DATA n’affecte pas les données Unicode.

Cette erreur peut se produire lorsqu’une colonne, un type, une variable ou un paramètre est défini en tant que caractère FOR MIXED DATA, même si les mots clés FOR MIXED DATA n’apparaissent pas dans l’instruction défaillante. Cette situation se produit lorsque la valeur MIXTE dans le module des valeurs par défaut de l’application est OUI. Dans ce cas, le sous-type par défaut pour les types de caractères est FOR MIXED DATA.

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

Réponse du programmeur :
Contactez votre administrateur système pour configurer correctement les options d’installation ou modifiez les types de données des éléments dans les colonnes de votre instruction CREATE ou ALTER.

SQLSTATE :
53095

CODE RETOUR -880

SAVEPOINT savepoint-name DOES NOT EXIST OR IS INVALID IN THIS CONTEXT

Explication :
L’instruction RELEASE TO SAVEPOINT ou ROLLBACK TO SAVEPOINT n’identifie pas un point de sauvegarde existant.

Action du système :
Db2 ne traite pas l’instruction.

Réponse du programmeur :
Corrigez l’instruction pour utiliser un nom de point de sauvegarde valide.

SQLSTATE :
3B001

CODE RETOUR -881

A SAVEPOINT WITH NAME savepoint-name ALREADY EXISTS, BUT THIS SAVEPOINT NAME CANNOT BE REUSED

Explication :
L’instruction SAVEPOINT utilise le même nom de point de sauvegarde qu’un autre point de sauvegarde et ne peut pas être créée car au moins l’un des points de sauvegarde a été défini avec la clause UNIQUE pour indiquer que le nom ne peut pas être réutilisé dans la transaction.

Action du système :
L’instruction n’est pas exécutée et aucun nouveau point de sauvegarde n’est défini. L’ancien point de sauvegarde existe toujours.

Réponse du programmeur :
Corrigez l’énoncé. Utilisez un nom de point de sauvegarde différent ou omettez la clause UNIQUE si l’autre point de sauvegarde a été créé sans la clause UNIQUE et que votre intention est de réutiliser ce nom de point de sauvegarde.

SQLSTATE :
3B501

CODE RETOUR -882

SAVEPOINT DOES NOT EXIST

Explication :
Une instruction ROLLBACK TO SAVEPOINT a été spécifiée sans nom de point de sauvegarde pour revenir au dernier point de sauvegarde actif, mais aucun point de sauvegarde n’existe.

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

Réponse du programmeur :
Corrigez la logique de l’application pour définir un point de sauvegarde ou pour ne pas tenter de revenir à un point de sauvegarde.

SQLSTATE :
3B502

CODE RETOUR -900

THE SQL STATEMENT CANNOT BE EXECUTED BECAUSE THE APPLICATION PROCESS IS NOT CONNECTED TO A SERVER

Explication :
Un échec précédent a placé le processus d’application dans l’état non connecté. Une demande infructueuse de changement d’utilisateur dans une connexion approuvée peut entraîner le passage de la connexion à un état non connecté. Les seules instructions SQL qui peuvent être exécutées avec succès à partir de l’état non connecté sont les instructions CONNECT, COMMIT, ROLLBACK et SET locales.

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

Réponse du programmeur :
Il est possible qu’aucune réponse ne soit requise car la vérification de -900 est un moyen de détecter l’état non connecté. Si cette erreur résulte d’une autre situation, la logique du programme d’application doit être modifiée.

SQLSTATE :
08003