Partager via


SQLGetDiagField

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