Archives de catégorie : SQLCODE

CODE RETOUR -750

THE SOURCE TABLE source-name CANNOT BE RENAMED OR ALTERED AS SPECIFIED

Explication :
Tentative de renommer une table, un index ou une colonne, mais l’objet source n’a pas pu être renommé.

source-name
Nom de la table, de l’index ou de la colonne source.

Les raisons possibles de cette erreur incluent, mais ne sont pas limitées à :

Instructions RENAME TABLE
– La table est référencée en tant que table de déclenchement dans un ou plusieurs déclencheurs existants.
– La table est une table temporelle de période système ou une table d’historique.
– La table est définie comme une table de limite de ressource active.
– La table est une table clone.
– La table a une table de clone définie pour elle.
– La table est référencée dans une ou plusieurs définitions de vue.
– La table a un synonyme défini pour elle.
– La table est une table archivable.
– La table est une table d’archives.
– La table est une table d’accélérateur uniquement.
– La table est définie comme une table Db2ZAI.

Instructions RENAME INDEX
– La table est définie comme une table de limite de ressource active.
– La table est définie comme une table Db2ZAI.

Instructions ALTER TABLE avec la clause RENAME COLUMN
– La table est une table de requête matérialisée.
– La définition d’une ou plusieurs tables de requêtes matérialisées fait référence à la table.
– La table est une table temporelle de période système ou une table d’historique.
– La table est référencée en tant que table de déclenchement dans un ou plusieurs déclencheurs existants.
– La colonne est référencée dans une ou plusieurs définitions de vue.
– La colonne est référencée dans une contrainte de vérification.
– La colonne a une procédure de champ définie.
– La table a une procédure valide ou une procédure d’édition définie avec une sensibilité d’attribut de ligne.
– Un index est défini sur la table avec une expression qui fait référence à la colonne.
– La table est une table archivable.
– La table est une table d’archives.
– La table est définie comme une table Db2ZAI.

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

Réponse du programmeur :
Remplacez le nom de la source par le nom d’un objet qui peut être renommé ou modifié, puis relancez l’instruction.

Supprimez tous les déclencheurs définis sur la table avant d’émettre l’instruction RENAME. Pour trouver ces déclencheurs, interrogez le catalogue système.

Supprimez toute vue faisant référence à la table avant d’émettre l’instruction RENAME. Pour trouver ces vues, interrogez le catalogue système.

Si un clone est défini sur la table, supprimez-le avant d’émettre l’instruction RENAME.

SQLSTATE :
42986

CODE RETOUR -742

DSNDB07 IS THE IMPLICIT WORK FILE DATABASE

Explication :
La clause WORKFILE ne peut pas être utilisée dans une instruction CREATE DATABASE pour créer une base de données de fichiers de travail pour un sous-système Db2 qui n’est pas membre d’un groupe de partage de données Db2. La base de données système, DSNDB07, est la base de données de fichiers de travail implicite.

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

Réponse du programmeur :
Pour créer la base de données de fichiers de travail pour un sous-système Db2 qui n’est pas membre d’un groupe de partage de données Db2, créez la base de données DSNDB07 sans la clause WORKFILE.

SQLSTATE :
53004

CODE RETOUR -746

THE SQL STATEMENT IN FUNCTION, TRIGGER, OR IN STORED PROCEDURE name VIOLATES THE NESTING SQL RESTRICTION

Explication :
Si une table est en cours de modification (par INSERT, DELETE, UPDATE ou MERGE), la table n’est pas accessible par l’instruction SQL imbriquée de niveau inférieur.

Si une table est accédée par une instruction SELECT, aucune table ne peut être modifiée (par INSERT, DELETE, UPDATE ou MERGE) dans une instruction SQL imbriquée de niveau inférieur.

Action du système :
L’instruction SQL SELECT, INSERT, DELETE, UPDATE ou MERGE a échoué.

Réponse du programmeur :
Supprimez l’instruction défaillante de la fonction, du déclencheur (trigger) ou de la procédure stockée nommés.

SQLSTATE :
57053

CODE RETOUR -740

FUNCTION name IS DEFINED WITH THE OPTION MODIFIES SQL DATA WHICH IS NOT VALID IN THE CONTEXT IN WHICH IT WAS INVOKED

Explication :
Une fonction définie par l’utilisateur qui est définie avec la clause MODIFIES SQL DATA a été appelée dans un contexte non valide.

name 
Nom de la fonction définie par l’utilisateur.

Une fonction définie par l’utilisateur qui est définie avec MODIFIES SQL DATA n’est autorisée que dans un :
– Clause VALUES d’une opération d’insertion
– Clause SET d’une opération de mise à jour
– Instruction VALUES dans un déclencheur
– Instruction d’affectation SET
– Instruction de procédure CALL
– sous-sélection

Action du système :
L’instruction SQL a échoué.

Réponse du programmeur :
Supprimez la fonction définie par l’utilisateur de l’instruction défaillante ou supprimez l’option MODIFIES SQL DATA de la définition de la fonction.

SQLSTATE :
51034

CODE RETOUR -741

database-type DATABASE IS ALREADY DEFINED FOR MEMBER member-name

Explication :
Une instruction CREATE DATABASE a été émise pour une base de données WORK FILE ou TEMP, mais la base de données ne peut pas être créée car une est déjà définie pour le sous-système Db2 nommé ou le membre du groupe de partage de données.

database-type
FICHIER DE TRAVAIL ou TEMP
member-name
Nom du sous-système Db2 ou du membre du groupe de partage de données qui possède déjà une base de données de database-type.

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

Réponse du programmeur :
Vérifiez l’identité et la validité de la base de données de la database-type existante pour le sous-système Db2 ou le membre de partage de données nommé. La base de données existante peut être modifiée ou supprimée si nécessaire. Si la base de données existante est supprimée, relancez l’instruction CREATE DATABASE.

SQLSTATE :
55020

CODE RETOUR -735

DATABASE dbid CANNOT BE ACCESSED BECAUSE IT IS NO LONGER A SHARED DATABASE

Explication :
Tentative d’accès à un objet de la base de données identifié par dbid , connu du système comme ayant l’attribut ROSHARE READ. Cependant, la base de données n’est plus définie comme ROSHARE OWNER sur le sous-système propriétaire.

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

Réponse du programmeur :
Vérifiez que l’objet correct est spécifié dans l’instruction.

SQLSTATE :
55004

CODE RETOUR -736

INVALID OBID obid SPECIFIED

Explication :
Une valeur OBID non valide a été donnée ou rencontrée. L’OBID n’est pas valide pour l’une des raisons suivantes :

  • L’OBID spécifié pour l’instruction CREATE TABLE ne se situe pas dans la plage acceptable pour les OBID, qui est de 2 à 32767.
  • L’OBID spécifié pour l’instruction CREATE TABLE est déjà utilisé pour la base de données donnée.
  • L’instruction ALTER a rencontré un objet existant avec un OBID qui ne se situe pas dans la plage acceptable pour les OBID, qui est de 2 à 32767.

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

Réponse du programmeur :
Pour l’instruction CREATE TABLE, vérifiez que l’OBID donné est une valeur valide pour un OBID. Si c’est le cas, assurez-vous que l’OBID est correct pour l’objet à créer, puis interrogez le catalogue pour trouver l’objet qui est déjà défini comme ayant le même OBID dans la base de données. Si un OBID invalide a été donné pour l’objet à créer, corrigez l’instruction et exécutez-la à nouveau. Si l’objet existant est en erreur, alors DROP et CREATE cet objet en utilisant la valeur OBID correcte.

Pour l’instruction ALTER, interrogez le catalogue pour trouver l’objet qui est déjà défini comme ayant le même OBID dans la base de données. DROP et CREATE cet objet en utilisant une valeur OBID valide.

Il est possible que l’OBID “en cours d’utilisation” soit l’OBID d’un objet qui a été supprimé précédemment. Si tel est le cas et que CREATE a été émis pour une table dans une base de données non ROSHARE READ, sélectionnez un OBID différent à utiliser dans la clause OBID. Si l’objet a été précédemment supprimé et que CREATE a été émis pour une table dans une base de données ROSHARE READ, COMMIT et soumettez à nouveau la demande CREATE TABLE.

SQLSTATE :
53014

CODE RETOUR -737

IMPLICIT TABLE SPACE NOT ALLOWED

Explication :
Une instruction CREATE TABLE a été émise à l’aide d’un espace table implicite. Un espace table implicite ne peut pas être utilisé dans une base de données qui a été définie comme une base de données partagée en lecture seule.

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

Réponse du programmeur :
CREATE un espace table pour la table, en utilisant le même nom que celui donné sur le système propriétaire. Relancez ensuite l’instruction CREATE TABLE.

SQLSTATE :
56056

CODE RETOUR -739

CREATE OR ALTER FUNCTION function-name FAILED BECAUSE FUNCTIONS CANNOT MODIFY DATA WHEN THEY ARE PROCESSED IN PARALLEL.

Explication :
La fonction ne peut pas être créée ou modifiée car ALLOW PARALLEL et MODIFIES SQL DATA ont toutes deux été spécifiées explicitement ou implicitement. Une fonction ne peut pas être parallélisée si elle modifie des données.

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

Réponse du programmeur :
Spécifiez DISALLOW PARALLEL ou remplacez MODIFIES SQL DATA par NO SQL, CONTAINS SQL ou READS SQL DATA.

SQLSTATE :
56088

CODE RETOUR -732

THE DATABASE IS DEFINED ON THIS SUBSYSTEM WITH THE ROSHARE READ ATTRIBUTE BUT THE TABLE SPACE OR INDEX SPACE HAS NOT BEEN DEFINED ON THE OWNING SUBSYSTEM

Explication :
Avant de créer un espace table ou un index dans une base de données avec l’attribut ROSHARE READ, cet objet doit d’abord être défini sur le sous-système propriétaire.

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

Réponse du programmeur :
Vérifiez que l’espace table ou l’index a été défini sur le système propriétaire dans une base de données ROSHARE OWNER.

SQLSTATE :
56055