Tous les articles par Mr COBOL

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 -731

USER-DEFINED DATASET dsname MUST BE DEFINED WITH SHAREOPTIONS(1,3)

Explication :
VSAM SHAREOPTIONS doit être (1,3) pour tous les index et espaces table de la base de données. L’ensemble de données défini par l’utilisateur identifié ne répondait pas à cette exigence.

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

Réponse du programmeur :
Assurez-vous que les ensembles de données utilisés dans la base de données partagée sont définis avec les SHAREOPTIONS appropriés.

SQLSTATE :
56054

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

CODE RETOUR -733

THE DESCRIPTION OF A TABLE SPACE, INDEX SPACE, OR TABLE IN A ROSHARE READ DATABASE MUST BE CONSISTENT WITH ITS DESCRIPTION IN THE OWNER SYSTEM

Explication :
Ce code est émis lors de la création d’un espace table, d’un index ou d’une table dans la base de données ROSHARE READ. Ces objets doivent être cohérents avec leurs descriptions dans la base de données ROSHARE OWNER comme suit :

1. Pour un espace table, les attributs suivants doivent être identiques :
– Taille de la page
– Taille des segments
– Nombre de partitions

2. Pour un index, les attributs suivants doivent être identiques :
– Nombre de partitions
– Nombre de sous-pages
– Tableau OBID
– Longueur totale de la clé
– Type d’index (index de type 1 ou de type 2)
– Nombre de colonnes clés

3. Pour une table, les attributs suivants doivent être identiques :
– Tableau OBID
– Longueur d’enregistrement maximale
– Le nombre de colonnes
– Si une procédure d’édition existe

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

Réponse du programmeur :
Assurez-vous que la définition de l’espace table, de l’index ou de la table est cohérente avec celle de la base de données ROSHARE OWNER.

SQLSTATE :
56056