Archives par mot-clé : -919

CODE RETOUR -919

A ROLLBACK OPERATION IS REQUIRED

Explication :

L’unité d’oeuvre a été placée dans un état où une opération de restauration est requise. Cela peut arriver pour les raisons suivantes :

  • Une instruction SQL a mis à jour un serveur de base de données distribué, mais le serveur de base de données ne peut être utilisé que pour des opérations en lecture seule. Soit les mises à jour sont actuellement limitées aux serveurs qui prennent en charge la validation en deux phases distribuée et ce serveur d’applications ne prend pas en charge la validation en deux phases distribuée, soit les mises à jour sont limitées à un seul serveur qui ne prend pas en charge la validation en deux phases distribuée et ce serveur d’applications n’est pas ce serveur.
    L’unité d’oeuvre doit se terminer par une opération de restauration car la mise à jour effectuée (mais non validée) sur le serveur d’applications ne peut pas être validée de manière cohérente avec les autres mises à jour actuelles ou futures apportées à cette unité d’oeuvre distribuée.
  • Une fin anormale s’est produite lors de l’exécution d’une procédure stockée ou une instruction SQL restreinte a été émise à partir d’une procédure stockée.
  • Une fin anormale s’est produite lors de l’exécution d’une fonction ou une instruction SQL restreinte a été émise à partir d’une fonction.
  • L’unité de travail fait partie d’une transaction globale et une autre unité de travail dans la transaction globale a initié un ROLLBACK. Toutes les unités de travail dans la transaction globale doivent maintenant ROLLBACK.

Action du système :
Dans les environnements IMS et CICS, toutes les instructions SQL sont rejetées jusqu’à ce que la restauration se produise. Dans les autres environnements, toutes les instructions SQL autres qu’un ROLLBACK statique sont rejetées jusqu’à ce qu’un ROLLBACK statique soit exécuté.

Réponse du programmeur :
Corrigez l’application, la fonction ou la procédure stockée, reliez-la et soumettez à nouveau le travail.

SQLERRP contient le nom du module qui a détecté l’échec précédent et placé l’application dans l’état must-abort.

SQLSTATE :
56045