Comment interpréter les informations d'erreur SQL renvoyée par sqlstate

Lorsque vous utilisez SQLSTATE pour identifier les erreurs SQL, il peut parfois être difficile de décider quoi faire avec cette information. CONNECTION_NAME et ENVIRONMENT_NAME identifier la connexion et de l'environnement à laquelle vous êtes connecté au moment où l'instruction SQL est exécutée.

Si le rapport porte sur une opération de table, CATALOG_NAME, SCHEMA_NAME, et TABLE_NAME identifier la table. COLUMN_NAME identifie la colonne dans la table qui a causé le rapport qui sera fait. Si la situation implique un curseur, Cursor_name donne son nom.

Parfois, un SGBD produit une chaîne de texte en langage naturel pour expliquer une condition. La MESSAGE_TEXT article est à ce genre d'information. Le contenu de cet article dépendent de la implementation- le standard SQL ne définit pas explicitement. Si vous avez quelque chose dans MESSAGE_TEXT, sa longueur en caractères est enregistré dans MESSAGE_LENGTH, et sa longueur en octets est enregistrée dans MESSAGE_OCTET_LENGTH.




Si le message est en caractères ASCII normaux, MESSAGE_LENGTH égal à égal MESSAGE_OCTET_LENGTH. Si, d'autre part, le message est en kanji ou une autre langue dont les caractères nécessitent plus d'un octet à exprimer, MESSAGE_LENGTH diffère de MESSAGE_OCTET_LENGTH.

Pour récupérer des informations de diagnostic à partir d'un en-tête de la zone de diagnostic, utilisez la commande suivante:

GET = les item1 de DIAGNOSTICS [, = status2 item2] ... -

statusn est une variable hôte ou paramètre- élémentn peut être un quelconque des mots-clés NOMBRE, PLUS, COMMAND_FUNCTION, DYNAMIC_FUNCTION, ou ROW_COUNT.

Pour récupérer des informations de diagnostic à partir d'une zone de détails de diagnostic, utilisez la syntaxe suivante:

GET état-numberstatus1 DIAGNOSTICS EXCEPTION = item1 [, = status2 item2] ... -

De nouveau statusn est une variable ou paramètre de l'hôte, et élémentn est l'un des 28 mots clés pour les éléments de détail énumérés dans le tableau 21-2. Le nombre de condition est (surprise!) La zone de détail de CONDITION_NUMBER article.


» » » » Comment interpréter les informations d'erreur SQL renvoyée par sqlstate