Messages de diagnostic

Un message de diagnostic est retourné avec chaque SQLSTATE. Le même SQLSTATE est souvent retourné avec un certain nombre de messages différents. Par exemple, SQLSTATE 42000 (erreur de syntaxe ou violation d’accès) est retourné pour la plupart des erreurs dans la syntaxe SQL. Toutefois, chaque erreur de syntaxe est susceptible d’être décrite par un message différent.

Les exemples de messages de diagnostic sont répertoriés dans la colonne Erreur de la table des SQLSTATEs dans l’Annexe A et dans chaque fonction. Bien que les pilotes puissent retourner ces messages, ils sont plus susceptibles de retourner le message qui leur est transmis par la source de données.

Les applications affichent généralement des messages de diagnostic à l’utilisateur, ainsi que le code d’erreur SQLSTATE et natif. Cela permet au personnel de l’utilisateur et du support technique de déterminer la cause de tout problème. Les informations de composant incorporées dans le message sont particulièrement utiles pour ce faire.

Les messages de diagnostic proviennent de sources de données et de composants dans une connexion ODBC, comme les pilotes, les passerelles et le Gestionnaire de pilotes. En règle générale, les sources de données ne prennent pas directement en charge ODBC. Par conséquent, si un composant d’une connexion ODBC reçoit un message d’une source de données, il doit identifier la source de données comme source du message. Il doit également s’identifier comme composant qui a reçu le message.

Si la source d’une erreur ou d’un avertissement est un composant lui-même, le message de diagnostic doit l’expliquer. Par conséquent, le texte des messages a deux formats différents. Pour les erreurs et avertissements qui ne se produisent pas dans une source de données, le message de diagnostic doit utiliser ce format :

[vendor-identifier][ODBC-component-identifier]component-supplied-text

Pour les erreurs et avertissements qui se produisent dans une source de données, le message de diagnostic doit utiliser ce format :

[vendor-identifier][ODBC-component-identifier][data-source-identifier]data-source-supplied-text

Le tableau suivant montre la signification de chaque élément.

Élément Signification
vendor-identifier Identifie le fournisseur du composant dans lequel l’erreur ou l’avertissement s’est produit ou qui a reçu l’erreur ou l’avertissement directement à partir de la source de données.
ODBC-component-identifier Identifie le composant dans lequel l’erreur ou l’avertissement s’est produit ou qui a reçu l’erreur ou l’avertissement directement à partir de la source de données.
data-source-identifier Identifie la source de données. Pour les pilotes basés sur des fichiers, il s’agit généralement d’un format de fichier, tel que Xbase[1] Pour les pilotes SGBD, il s’agit du produit SGBD.
component-supplied-text Généré par le composant ODBC.
data-source-supplied-text Généré par la source de données.

[1] Dans ce cas, le pilote agit à la fois comme pilote et la source de données.

Les crochets ([ ]) doivent être inclus dans le message et n’indiquent pas d’éléments facultatifs.