Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le pilote ODBC SQL Server Native Client spécifie les champs de diagnostic supplémentaires suivants pour SQLGetDiagField. Ces champs prennent en charge les rapports d’erreurs enrichis pour les applications SQL Server et sont disponibles dans tous les enregistrements de diagnostic générés sur les handles de connexion ODBC connectés et les handles d’instructions ODBC. Les champs sont définis dans sqlncli.h.
| Champ d’enregistrement des diagnostics | Descriptif |
|---|---|
| SQL_DIAG_SS_LINE | Signale le numéro de ligne d’une procédure stockée générant une erreur. La valeur de SQL_DIAG_SS_LINE n’est significative que si SQL_DIAG_SS_PROCNAME retourne une valeur. La valeur est retournée sous la forme d’un entier 16 bits non signé. |
| SQL_DIAG_SS_MSGSTATE | État d’un message d’erreur. Pour plus d’informations sur l’état du message d’erreur, consultez RAISERROR. La valeur est retournée sous la forme d’un entier signé 32 bits. |
| SQL_DIAG_SS_PROCNAME | Nom de la procédure stockée générant une erreur, le cas échéant. La valeur est retournée sous forme de chaîne de caractères. La longueur de la chaîne (en caractères) dépend de la version de SQL Server. Il peut être déterminé en appelant SQLGetInfo en demandant la valeur de SQL_MAX_PROCEDURE_NAME_LEN. |
| SQL_DIAG_SS_SEVERITY | Niveau de gravité du message d’erreur associé. La valeur est retournée sous la forme d’un entier signé 32 bits. |
| SQL_DIAG_SS_SRVNAME | Nom du serveur sur lequel l’erreur s’est produite. La valeur est retournée sous forme de chaîne de caractères. La longueur de la chaîne (en caractères) est définie par la macro SQL_MAX_SQLSERVERNAME dans sqlncli.h. |
Les champs de diagnostic spécifiques à SQL Server qui contiennent des données de caractères, SQL_DIAG_SS_PROCNAME et SQL_DIAG_SS_SRVNAME, retournent ces données au client en tant que chaînes NULL terminées, ANSI ou Unicode. Si nécessaire, le nombre de caractères doit être ajusté par la largeur des caractères. Vous pouvez également utiliser un type de données C portable tel que TCHAR ou SQLTCHAR pour garantir une longueur variable de programme correcte.
Le pilote ODBC SQL Server Native Client signale les codes de fonction dynamique supplémentaires suivants qui identifient la dernière tentative d’instruction SQL Server. Le code de fonction dynamique est retourné dans l’en-tête (enregistrement 0) du jeu d’enregistrements de diagnostic et est donc disponible sur chaque exécution (réussie ou non).
| Code de fonction dynamique | Origine |
|---|---|
| SQL_DIAG_DFC_SS_ALTER_DATABASE | ALTER DATABASE, instruction |
| SQL_DIAG_DFC_SS_CHECKPOINT | Instruction CHECKPOINT |
| SQL_DIAG_DFC_SS_CONDITION | Une erreur s’est produite dans les clauses WHERE ou HAVING d’une instruction. |
| SQL_DIAG_DFC_SS_CREATE_DATABASE | CREATE DATABASE, instruction |
| SQL_DIAG_DFC_SS_CREATE_DEFAULT | INSTRUCTION CREATE DEFAULT |
| SQL_DIAG_DFC_SS_CREATE_PROCEDURE | INSTRUCTION CREATE PROCEDURE |
| SQL_DIAG_DFC_SS_CREATE_RULE | INSTRUCTION CREATE RULE |
| SQL_DIAG_DFC_SS_CREATE_TRIGGER | INSTRUCTION CREATE TRIGGER |
| SQL_DIAG_DFC_SS_CURSOR_DECLARE | INSTRUCTION DECLARE CURSOR |
| SQL_DIAG_DFC_SS_CURSOR_OPEN | INSTRUCTION OPEN |
| SQL_DIAG_DFC_SS_CURSOR_FETCH | Instruction FETCH |
| SQL_DIAG_DFC_SS_CURSOR_CLOSE | INSTRUCTION CLOSE |
| SQL_DIAG_DFC_SS_DEALLOCATE_CURSOR | INSTRUCTION DEALLOCATE |
| SQL_DIAG_DFC_SS_DBCC | Instruction DBCC |
| SQL_DIAG_DFC_SS_DENY | INSTRUCTION DENY |
| SQL_DIAG_DFC_SS_DROP_DATABASE | INSTRUCTION DROP DATABASE |
| SQL_DIAG_DFC_SS_DROP_DEFAULT | INSTRUCTION DROP DEFAULT |
| SQL_DIAG_DFC_SS_DROP_PROCEDURE | INSTRUCTION DROP PROCEDURE |
| SQL_DIAG_DFC_SS_DROP_RULE | INSTRUCTION DROP RULE |
| SQL_DIAG_DFC_SS_DROP_TRIGGER | INSTRUCTION DROP TRIGGER |
| SQL_DIAG_DFC_SS_DUMP_DATABASE | INSTRUCTION BACKUP ou DUMP DATABASE |
| SQL_DIAG_DFC_SS_DUMP_TABLE | INSTRUCTION DUMP TABLE |
| SQL_DIAG_DFC_SS_DUMP_TRANSACTION | INSTRUCTION BACKUP ou DUMP TRANSACTION. Retourné pour une instruction CHECKPOINT si l’option de base de données trunc. log sur chkpt. |
| SQL_DIAG_DFC_SS_GOTO | INSTRUCTION GOTO control-of-flow |
| SQL_DIAG_DFC_SS_INSERT_BULK | INSTRUCTION INSERT BULK |
| SQL_DIAG_DFC_SS_KILL | INSTRUCTION KILL |
| SQL_DIAG_DFC_SS_LOAD_DATABASE | INSTRUCTION LOAD ou RESTORE DATABASE |
| SQL_DIAG_DFC_SS_LOAD_HEADERONLY | INSTRUCTION LOAD ou RESTORE HEADERONLY |
| SQL_DIAG_DFC_SS_LOAD_TABLE | INSTRUCTION LOAD TABLE |
| SQL_DIAG_DFC_SS_LOAD_TRANSACTION | INSTRUCTION LOAD ou RESTORE TRANSACTION |
| SQL_DIAG_DFC_SS_PRINT | INSTRUCTION PRINT |
| SQL_DIAG_DFC_SS_RAISERROR | Instruction RAISERROR |
| SQL_DIAG_DFC_SS_READTEXT | INSTRUCTION READTEXT |
| SQL_DIAG_DFC_SS_RECONFIGURE | INSTRUCTION RECONFIGURE |
| SQL_DIAG_DFC_SS_RETURN | INSTRUCTION RETURN control-of-flow |
| SQL_DIAG_DFC_SS_SELECT_INTO | INSTRUCTION SELECT INTO |
| SQL_DIAG_DFC_SS_SET | Instruction SET (générique, toutes les options) |
| SQL_DIAG_DFC_SS_SET_IDENTITY_INSERT | INSTRUCTION SET IDENTITY_INSERT |
| SQL_DIAG_DFC_SS_SET_ROW_COUNT | INSTRUCTION SET ROWCOUNT |
| SQL_DIAG_DFC_SS_SET_STATISTICS | Instructions SET STATISTICS IO ou SET STATISTICS TIME |
| SQL_DIAG_DFC_SS_SET_TEXTSIZE | INSTRUCTION SET TEXTSIZE |
| SQL_DIAG_DFC_SS_SETUSER | INSTRUCTION SETUSER |
| SQL_DIAG_DFC_SS_SET_XCTLVL | INSTRUCTION SET TRANSACTION ISOLATION LEVEL |
| SQL_DIAG_DFC_SS_SHUTDOWN | INSTRUCTION SHUTDOWN |
| SQL_DIAG_DFC_SS_TRANS_BEGIN | INSTRUCTION BEGIN TRAN |
| SQL_DIAG_DFC_SS_TRANS_COMMIT | INSTRUCTION COMMIT TRAN |
| SQL_DIAG_DFC_SS_TRANS_PREPARE | Préparer la validation d’une transaction distribuée |
| SQL_DIAG_DFC_SS_TRANS_ROLLBACK | ROLLBACK TRAN, instruction |
| SQL_DIAG_DFC_SS_TRANS_SAVE | Instruction SAVE TRAN |
| SQL_DIAG_DFC_SS_TRUNCATE_TABLE | INSTRUCTION TRUNCATE TABLE |
| SQL_DIAG_DFC_SS_UPDATE_STATISTICS | INSTRUCTION UPDATE STATISTICS |
| SQL_DIAG_DFC_SS_UPDATETEXT | INSTRUCTION UPDATETEXT |
| SQL_DIAG_DFC_SS_USE | INSTRUCTION USE |
| SQL_DIAG_DFC_SS_WAITFOR | INSTRUCTION WAITFOR control-of-flow |
| SQL_DIAG_DFC_SS_WRITETEXT | INSTRUCTION WRITETEXT |
Paramètres SQLGetDiagField et Table-Valued
SQLGetDiagField peut être utilisé pour récupérer deux champs de diagnostic : SQL_DIAG_SS_TABLE_COLUMN_NUMBER et SQL_DIAG_SS_TABLE_ROW_NUMBER. Ces champs vous aident à déterminer la valeur à l’origine de l’erreur ou de l’avertissement associé à l’enregistrement de diagnostic.
Pour plus d’informations sur les paramètres table, consultez Paramètres table (ODBC) .
Voir aussi
SQLGetDiagField, fonction
Détails de l’implémentation d’API ODBC