CODE RETOUR -901

UNSUCCESSFUL EXECUTION CAUSED BY A SYSTEM ERROR THAT DOES NOT PRECLUDE THE SUCCESSFUL EXECUTION OF SUBSEQUENT SQL STATEMENTS

Explication :
Une erreur système s’est produite et a empêché l’exécution réussie de l’instruction SQL en cours.

accelerator-info
Message d’erreur renvoyé par le serveur accélérateur.
Si l’instruction SQL n’est pas une requête envoyée à un serveur accélérateur, les causes possibles de cette erreur incluent :

  • Longueur de l’instruction : la longueur de l’instruction SQL est inférieure à 0 ou supérieure à la longueur maximale autorisée pour une instruction.
  • Traitement de validation distribué : le traitement de validation distribué a rencontré une erreur. Tous les serveurs de l’unité d’oeuvre prenant en charge la validation en deux phases distribuée renvoient l’unité d’oeuvre. Si un serveur qui ne prend pas en charge la validation en deux phases distribuée a des mises à jour dans l’unité d’oeuvre, ce serveur doit être interrogé pour déterminer si ses mises à jour ont été validées ou annulées.
  • Travail de post-traitement incomplet : la transaction est abandonnée et la validation a échoué. Les causes typiques d’un post-traitement incomplet incluent :
    • Une mise à jour qui modifie la partition d’une ligne
    • La disponibilité des ressources
    • L’existence de curseurs maintenus
    • Violations des contraintes d’unicité

Si l’instruction SQL est une requête qui a été envoyée à un serveur accélérateur, l’erreur est renvoyée car le serveur accélérateur n’a pas pu exécuter la requête.

Action du système :
La déclaration ne peut pas être traitée. Une fin anormale X’04E’ peut être demandée pour l’application. Le programme d’application peut avoir une routine de récupération pour récupérer d’une telle fin anormale et peut réessayer des instructions SQL.

L’erreur n’empêche pas l’exécution réussie d’autres instructions SQL.

Réponse du programmeur :
Si une fin anormale s’est produite, informez le programmeur système pour qu’il analyse la fin anormale qui a provoqué ce code retour. Même si une fin anormale s’est produite, un programme d’application recevant ce code retour peut réessayer et il n’est pas interdit d’exécuter d’autres instructions SQL.

Si l’erreur s’est produite lors d’une validation, examinez toutes les informations détaillées sur l’indisponibilité des ressources publiées sur la console de l’opérateur système ou dans le journal des travaux de l’espace d’adressage des services système (ssnmMSTR) pour déterminer si un problème d’indisponibilité des ressources a empêché la fin du post-traitement de la validation.

Si l’erreur s’est produite pour une requête envoyée à un serveur accélérateur, vérifiez si l’instruction SQL contient une erreur logique. Un exemple d’erreur logique dans une instruction SQL est une opération de division qui se traduit par une division par 0. Si vous déterminez que votre application n’est pas la source de l’erreur, contactez le support IBM® et indiquez la valeur accelerator-info dans le jeton.

SQLSTATE :
58004