Pendant que j'insérais des données dans une table (db2), j'ai eu cette erreur:
Message: Operation not allowed for reason code "7" on
table "ELSAG.ICGR1106".. SQLCODE=-668, SQLSTATE=57016, DRIVER=3.50.152,...
lorsque je l'ai recherché sur Google, j'ai constaté que la précédente instruction ALTER TABLE avait tenté d'ajouter une colonne à une table qui avait une procédure d'édition définie avec une sensibilité d'attribut de ligne. Aucune colonne ne peut être ajoutée à ce tableau.
Existe-t-il un moyen de le corriger?
Une fois que j'ai déposé et recréé la table, je peux l'insérer à nouveau.
Merci d'avance.
Pour ajouter à la réponse de James et faire gagner du temps aux gens en regardant autour, vous pouvez exécuter
CALL SYSPROC.ADMIN_CMD('REORG TABLE MY_TABLE_NAME')
via n'importe quel client SQL disponible (c'est-à-dire même sur ODBC ou connexion JDBC) pour corriger ce problème. Cependant, la connexion doit être en mode de validation automatique et vous devez disposer des privilèges d'administrateur pour exécuter cette commande.
Je recommande fortement de lire la documentation sur RÉORGANISER avant de l'appeler.
Selon ceci: SQL0668
Vous avez apporté une modification à la table qui nécessite un REORG avant de pouvoir mettre à jour la table.
Exécutez l'utilitaire REORG sur la table et vous devriez être OK.
CALL SYSPROC.ADMIN_CMD ('REORG TABLE TABLE_NAME') résout le problème