Tous les articles par Mr COBOL

CODE RETOUR -666

stmt-verb object CANNOT BE EXECUTED BECAUSE function IS IN PROGRESS

Explication :
L’instruction SQL n’a pas pu être exécutée car la fonction nommée était en cours d’exécution à ce moment-là.

stmt-verb
Le type d’instruction en langage de définition de données (DDL)
object
Le type d’objet Db2
function
La fonction active qui a empêché l’action. Un utilitaire, la fonction de limitation des ressources ou Db2ZAI.

Si l’objet fait partie de la base de données des communications, il ne peut pas être supprimé pendant que le DDF est actif.

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

Réponse du programmeur :
Si la fonction est un utilitaire, attendez que la fonction se termine ou s’arrête. Soumettez ensuite à nouveau l’instruction pour exécution.

Si la fonction est la fonction de limite de ressources, l’instruction ne peut pas être exécutée tant que la fonction de limite de ressources n’est pas arrêtée ou basculée vers une table de limite de ressources différente. Dans un environnement de partage de données Db2, la fonction de limite de ressources doit être arrêtée sur tous les membres du groupe de partage de données Db2 ou tous les membres doivent basculer vers une table de limite de ressources qui n’est pas associée à l’objet.

Si la fonction est le DDF, l’installation doit être arrêtée avant que l’objet puisse être supprimé. Dans un environnement de partage de données Db2, la fonction doit être arrêtée sur tous les membres du groupe de partage de données Db2.

SQLSTATE :
57005

CODE RETOUR -658

object-type CANNOT BE DROPPED USING THE statement STATEMENT

Explication :
Une instruction DROP a été émise, mais l’objet ne peut pas être explicitement supprimé. L’objet doit être déposé en déposant un objet associé :

TRIGGER PACKAGE
Un trigger package ne peut pas être supprimé avec l’instruction DROP PACKAGE. Un trigger package ne peut être supprimé implicitement que lorsque le déclencheur associé est supprimé à l’aide de l’instruction DROP TRIGGER.

CAST FUNCTION
Une cast function ne peut pas être explicitement supprimée avec l’instruction DROP FUNCTION. Une cast function ne peut être supprimée implicitement que lorsque le type distinct associé est supprimé à l’aide de l’instruction DROP DISTINCT TYPE.

ROW PERMISSION
Une row permission par défaut ne peut pas être explicitement supprimée avec l’instruction DROP PERMISSION. Une row permission par défaut ne peut être supprimée implicitement que lorsque la table associée est supprimée à l’aide de l’instruction DROP TABLE. Alternativement, l’autorisation de ligne par défaut peut être supprimée à l’aide de l’instruction ALTER TABLE avec la clause DEACTIVATE ROW ACCESS.

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

Réponse du programmeur :
Émettez l’instruction DROP appropriée pour supprimer les objets voulus.

SQLSTATE :
42917

CODE RETOUR -660

INDEX index-name CANNOT BE CREATED OR ALTERED ON PARTITIONED TABLE SPACE tspace-name BECAUSE KEY LIMITS ARE NOT SPECIFIED

Explication :
L’instruction CREATE INDEX ou ALTER INDEX n’a pas spécifié de valeurs de clé limites pour les partitions de l’espace table. Pour créer un index de clustering pour une table dans un espace table partitionné, ou pour modifier ces valeurs à l’aide de ALTER INDEX, vous devez inclure ces valeurs.

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

Réponse du programmeur :
Vérifiez que la table correcte a été spécifiée dans l’instruction CREATE INDEX ou ALTER INDEX. Si c’est le cas, la définition de l’espace table partitionné doit être examinée afin qu’une définition appropriée de l’index de grappe pour la table puisse être construite.

SQLSTATE :
53035

CODE RETOUR -661

object-type object-name CANNOT BE CREATED ON PARTITIONED TABLE SPACE tspace-name BECAUSE THE NUMBER OF PARTITION SPECIFICATIONS IS NOT EQUAL TO THE NUMBER OF PARTITIONS OF THE TABLE SPACE

Explication :

La définition du object-name est incorrecte pour l’une des raisons suivantes :

  • Si object-type est INDEX, l’instruction CREATE INDEX pour l’index de cluster sur une table partitionnée (c’est-à-dire une table résidant dans un espace table partitionné) ne contient pas le même nombre de spécifications de partition qu’il y a de partitions dans l’espace table. La définition de l’index de cluster d’une table partitionnée doit contenir exactement autant de spécifications de partition qu’il y a de partitions dans l’espace table dans lequel réside cette table. De plus, les numéros de partition doivent être valides et uniques.
  • Si object-type est TABLE, le nombre de partitions spécifié dans la clause de partitionnement de l’instruction CREATE TABLE diffère du nombre de partitions dans l’espace table dans lequel la table est créée.

Action du système :
La déclaration ne peut pas être traitée. L’index de cluster ou la table spécifié n’a pas été créé.

Réponse du programmeur :
Examinez la définition de l’espace table partitionné pour déterminer le nombre de partitions spécifiées. Corrigez la syntaxe de l’instruction CREATE INDEX ou CREATE TABLE pour fournir le nombre correct de spécifications de partition.

SQLSTATE :
53036

CODE RETOUR -655

THE CREATE OR ALTER STOGROUP IS INVALID BECAUSE THE STORAGE GROUP WOULD HAVE BOTH SPECIFIC AND NON-SPECIFIC VOLUME IDS

Explication :

L’une des conditions d’erreur suivantes s’est produite :

  • Un ID de volume spécifique et un ID de volume non spécifique (‘*’) sont spécifiés dans la clause VOLUMES d’une instruction CREATE STOGROUP.
  • Un ID de volume spécifique et un ID de volume non spécifique (‘*’) sont spécifiés dans une clause ADD VOLUMES d’une instruction ALTER STOGROUP.
  • Un ID de volume spécifique est spécifié dans une clause ADD VOLUMES d’un ALTER d’un groupe de stockage qui a des ID de volume non spécifiques ou des ID de volume mixtes.
  • Un ID de volume non spécifique (‘*’) est spécifié dans une clause ADD VOLUMES d’un ALTER d’un groupe de stockage qui a des ID de volume spécifiques ou des ID de volume mixtes.

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

Réponse du programmeur :
Spécifiez des ID de volume spécifiques ou non spécifiques dans la clause VOLUMES de l’instruction CREATE STOGROUP et la clause ADD VOLUMES de l’instruction ALTER STOGROUP. Pour ajouter des ID de volume spécifiques à un groupe de stockage avec des ID de volume non spécifiques, utilisez la clause REMOVE VOLUMES pour supprimer les ID de volume non spécifiques. Pour ajouter des ID de volume non spécifiques à un groupe de stockage avec des ID de volume spécifiques, utilisez la clause REMOVE VOLUMES pour supprimer les ID de volume spécifiques.

SQLSTATE :
56036

CODE RETOUR -653

TABLE table-name IN PARTITIONED TABLE SPACE tspace-name IS NOT AVAILABLE BECAUSE ITS PARTITIONED INDEX HAS NOT BEEN CREATED

Explication :
Une tentative a été effectuée pour insérer ou manipuler des données ou créer une vue sur une table partitionnée (c’est-à-dire une table résidant dans un espace table partitionné) avant que l’index partitionné de cette table ait été créé.

Une table résidant dans un espace table partitionné ne peut pas être référencée dans une instruction de manipulation SQL ou une instruction CREATE VIEW avant que l’index partitionné de cette table ait été créé.

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

Réponse du programmeur :
Vérifiez que la table correcte a été spécifiée dans l’instruction. Si tel est le cas, assurez-vous que l’index partitionné de la table a été créé avec succès avant de tenter d’exécuter des instructions de manipulation SQL faisant référence à cette table.

SQLSTATE :
57004

CODE RETOUR -652

VIOLATION OF INSTALLATION DEFINED EDIT OR VALIDATION PROCEDURE proc-name

Explication :
Le résultat de l’instruction SQL a été rejeté par la procédure d’édition ou de validation définie par l’installationproc-namepour la table d’objets.

Action du système :
La déclaration ne peut pas être traitée. Le contenu de la table d’objets n’a pas été modifié.

Réponse du programmeur :
Déterminez les exigences imposées par la procédure d’édition ou de validation pour les insertions et les mises à jour de la table d’objets.

SQLSTATE :
23506

CODE RETOUR -651

TABLE DESCRIPTION EXCEEDS MAXIMUM SIZE OF OBJECT DESCRIPTOR

Explication :
L’instruction CREATE TABLE ou ALTER TABLE fait que la description de la table (enregistrement OBD) dépasse la limite de taille de la description objet de 32 Kb.

Action du système :
L’instruction n’est pas exécutée. Pour une instruction ALTER TABLE, la définition de la table est inchangée. Pour une instruction CREATE TABLE, la table n’est pas créée.

Réponse du programmeur :
Modifiez l’instruction en réduisant le nombre ou la longueur (ou une combinaison des deux) des constantes de chaîne par défaut définies par l’utilisateur ou vérifiez les contraintes et exécutez à nouveau l’instruction.

SQLSTATE :
54025

CODE RETOUR -751

object-type object-name (SPECIFIC NAME specific name) ATTEMPTED TO EXECUTE AN SQL STATEMENT sql-statement THAT IS NOT ALLOWED

Explication :
Une procédure stockée ou une fonction définie par l’utilisateur a tenté d’exécuter une instruction SQL non autorisée.

object-type
Le type d’objet :

  • Procédure stockée
    Une procédure stockée a émis une instruction SQL qui a forcé le thread Db2 à annuler l’unité de travail. L’instruction SQL qui a provoqué le placement du thread dans l’état MUST_ROLLBACK est COMMIT ou ROLLBACK :
    Toutes les autres instructions SQL sont rejetées jusqu’à ce que l’application SQL qui a émis l’instruction SQL CALL annule l’unité de travail. Lorsque le contrôle revient à l’application SQL qui a émis l’instruction SQL CALL, l’application SQL doit annuler l’unité de travail. Cela peut être fait en émettant une instruction SQL ROLLBACK ou l’opération IMS ou CICS® équivalente.
  • Fonction définie par l’utilisateur
    La fonction externe indiquée par object-name a émis une instruction COMMIT ou ROLLBACK.

object-name
Le nom de l’objet.

specific-name
Le nom de la fonction spécifique, qui est unique dans le schéma.

sql-statemen
L’instruction SQL qui a été émise.

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

Réponse du programmeur :
Supprimez toutes les instructions COMMIT et ROLLBACK de la procédure stockée ou modifiez l’application cliente afin qu’elle établisse un environnement permettant à la procédure stockée d’exécuter des instructions. Les procédures stockées appelées à distance peuvent exécuter des instructions COMMIT ou ROLLBACK intégrées si les conditions suivantes sont remplies :

  • La connexion avec le système demandeur doit utiliser des protocoles de validation en une phase.
  • Le système demandeur doit indiquer que les validations sont autorisées en envoyant une indication DRDA RDBCMTOK=TRUE lorsque la procédure stockée est appelée.

Pour les systèmes demandeurs Db2 Connect, l’application cliente doit utiliser des connexions Connect Type 1 ou Remote Unit of Work. D’autres connexions font que Db2 Connect indique que les validations ne sont pas autorisées, ce qui entraînera l’échec des instructions COMMIT et ROLLBACK dans une procédure stockée.

SQLSTATE :
38003
2F003

CODE RETOUR -718

REBIND OF PACKAGE package-name FAILED BECAUSE IBMREQD OF ibmreqd IS INVALID

Explication :
La colonne IBMREQD de la table de catalogue SYSIBM.SYSPACKAGE pour le package nommé contient un caractère non reconnaissable.

package-name
Nom du package (location.collection.package.version)

Action du système :
Le REBIND a échoué.

Réponse de l’utilisateur :
Vous devez effectuer une BIND ACTION(REPLACE) pour ce package.

SQLSTATE :
56067