Compartilhar via


SQLGetDiagField

O driver ODBC do SQL Server Native Client especifica os campos de diagnósticos adicionais a seguir para SQLGetDiagField. Esses campos suportam relatórios bem elaborados de erros para os aplicativos do SQL Server e estão disponíveis em todos os registros de diagnóstico gerados em identificadores de conexão conectados ODBC e identificadores de instrução ODBC. Os campos são definidos em sqlncli.h.

Campo de registro de diagnóstico

Descrição

SQL_DIAG_SS_LINE

Informa o número da linha de um procedimento armazenado que gera um erro. O valor de SQL_DIAG_SS_LINE só será útil se SQL_DIAG_SS_PROCNAME retornar um valor. O valor é retornado como um inteiro de 16 bits sem assinatura.

SQL_DIAG_SS_MSGSTATE

O estado de uma mensagem de erro. Para obter mais informações sobre o estado da mensagem de erro, consulte RAISERROR. O valor é retornado como um inteiro de 32 bits com assinatura.

SQL_DIAG_SS_PROCNAME

O nome do procedimento armazenado que gera um erro, se apropriado. O valor é retornado como uma cadeia de caracteres. O comprimento da cadeia de caracteres (em caracteres) depende da versão do SQL Server. Pode ser determinado chamando SQLGetInfo que solicita o valor de SQL_MAX_PROCEDURE_NAME_LEN.

SQL_DIAG_SS_SEVERITY

O nível de severidade da mensagem de erro associada. O valor é retornado como um inteiro de 32 bits com assinatura.

SQL_DIAG_SS_SRVNAME

O nome do servidor no qual o erro ocorreu. O valor é retornado como uma cadeia de caracteres. O comprimento da cadeia de caracteres (em caracteres) é definido pela macro SQL_MAX_SQLSERVERNAME em sqlncli.h.

Campos de diagnóstico específicos do SQL Server que contêm dados de caractere, SQL_DIAG_SS_PROCNAME e SQL_DIAG_SS_SRVNAME, retornam esses dados para o cliente como cadeia de caracteres com terminação nula, ANSI ou Unicode. Se necessário, a contagem de caracteres deve ser ajustada de acordo com a largura do caractere. Como opção, um tipo de dados C portátil, como TCHAR ou SQLTCHAR, pode ser usado para garantir o comprimento variável correto do programa.

O driver ODBC do SQL Server Native Client informa os códigos de função dinâmicos adicionais a seguir que identificam a última instrução do SQL Server tentada. O código de função dinâmico é retornado no cabeçalho (record 0) do registro de diagnóstico definido e, portanto, está disponível em cada execução (bem-sucedida ou não).

Código de função dinâmico

Fonte

SQL_DIAG_DFC_SS_ALTER_DATABASE

Instrução ALTER DATABASE

SQL_DIAG_DFC_SS_CHECKPOINT

Instrução CHECKPOINT

SQL_DIAG_DFC_SS_CONDITION

O erro ocorreu nas cláusulas WHERE ou HAVING de uma instrução.

SQL_DIAG_DFC_SS_CREATE_DATABASE

Instrução CREATE DATABASE

SQL_DIAG_DFC_SS_CREATE_DEFAULT

Instrução CREATE DEFAULT

SQL_DIAG_DFC_SS_CREATE_PROCEDURE

Instrução CREATE PROCEDURE

SQL_DIAG_DFC_SS_CREATE_RULE

Instrução CREATE RULE

SQL_DIAG_DFC_SS_CREATE_TRIGGER

Instrução CREATE TRIGGER

SQL_DIAG_DFC_SS_CURSOR_DECLARE

Instrução DECLARE CURSOR

SQL_DIAG_DFC_SS_CURSOR_OPEN

Instrução OPEN

SQL_DIAG_DFC_SS_CURSOR_FETCH

Instrução FETCH

SQL_DIAG_DFC_SS_CURSOR_CLOSE

Instrução CLOSE

SQL_DIAG_DFC_SS_DEALLOCATE_CURSOR

Instrução DEALLOCATE

SQL_DIAG_DFC_SS_DBCC

Instrução DBCC

SQL_DIAG_DFC_SS_DENY

Instrução DENY

SQL_DIAG_DFC_SS_DROP_DATABASE

Instrução DROP DATABASE

SQL_DIAG_DFC_SS_DROP_DEFAULT

Instrução DROP DEFAULT

SQL_DIAG_DFC_SS_DROP_PROCEDURE

Instrução DROP PROCEDURE

SQL_DIAG_DFC_SS_DROP_RULE

Instrução DROP RULE

SQL_DIAG_DFC_SS_DROP_TRIGGER

Instrução DROP TRIGGER

SQL_DIAG_DFC_SS_DUMP_DATABASE

Instrução BACKUP ou DUMP DATABASE

SQL_DIAG_DFC_SS_DUMP_TABLE

Instrução DUMP TABLE

SQL_DIAG_DFC_SS_DUMP_TRANSACTION

Instrução BACKUP ou DUMP TRANSACTION. Também retornado para uma instrução CHECKPOINT se a opção de banco de dados trunc. log on chkpt. estiver ativa.

SQL_DIAG_DFC_SS_GOTO

Instrução de controle de fluxo GOTO

SQL_DIAG_DFC_SS_INSERT_BULK

Instrução INSERT BULK

SQL_DIAG_DFC_SS_KILL

Instrução KILL

SQL_DIAG_DFC_SS_LOAD_DATABASE

Instrução LOAD ou RESTORE DATABASE

SQL_DIAG_DFC_SS_LOAD_HEADERONLY

Instrução LOAD ou RESTORE HEADERONLY

SQL_DIAG_DFC_SS_LOAD_TABLE

Instrução LOAD TABLE

SQL_DIAG_DFC_SS_LOAD_TRANSACTION

Instrução LOAD ou RESTORE TRANSACTION

SQL_DIAG_DFC_SS_PRINT

Instrução PRINT

SQL_DIAG_DFC_SS_RAISERROR

Instrução RAISERROR

SQL_DIAG_DFC_SS_READTEXT

Instrução READTEXT

SQL_DIAG_DFC_SS_RECONFIGURE

Instrução RECONFIGURE

SQL_DIAG_DFC_SS_RETURN

Instrução de controle de fluxo RETURN

SQL_DIAG_DFC_SS_SELECT_INTO

Instrução SELECT INTO

SQL_DIAG_DFC_SS_SET

Instrução SET (genérica, todas as opções)

SQL_DIAG_DFC_SS_SET_IDENTITY_INSERT

Instrução SET IDENTITY_INSERT

SQL_DIAG_DFC_SS_SET_ROW_COUNT

Instrução SET ROWCOUNT

SQL_DIAG_DFC_SS_SET_STATISTICS

Instruções SET STATISTICS IO ou SET STATISTICS TIME

SQL_DIAG_DFC_SS_SET_TEXTSIZE

Instrução SET TEXTSIZE

SQL_DIAG_DFC_SS_SETUSER

Instrução SETUSER

SQL_DIAG_DFC_SS_SET_XCTLVL

Instrução SET TRANSACTION ISOLATION LEVEL

SQL_DIAG_DFC_SS_SHUTDOWN

Instrução SHUTDOWN

SQL_DIAG_DFC_SS_TRANS_BEGIN

Instrução BEGIN TRAN

SQL_DIAG_DFC_SS_TRANS_COMMIT

Instrução COMMIT TRAN

SQL_DIAG_DFC_SS_TRANS_PREPARE

Preparar para confirmar uma transação distribuída

SQL_DIAG_DFC_SS_TRANS_ROLLBACK

Instrução ROLLBACK TRAN

SQL_DIAG_DFC_SS_TRANS_SAVE

Instrução SAVE TRAN

SQL_DIAG_DFC_SS_TRUNCATE_TABLE

Instrução TRUNCATE TABLE

SQL_DIAG_DFC_SS_UPDATE_STATISTICS

Instrução UPDATE STATISTICS

SQL_DIAG_DFC_SS_UPDATETEXT

Instrução UPDATETEXT

SQL_DIAG_DFC_SS_USE

Instrução USE

SQL_DIAG_DFC_SS_WAITFOR

Instrução de controle de fluxo WAITFOR

SQL_DIAG_DFC_SS_WRITETEXT

Instrução WRITETEXT

SQLGetDiagField e parâmetros com valor de tabela

SQLGetDiagField pode ser usado para recuperar dois (adicionados em SQL Server 2008) campos de diagnóstico: SQL_DIAG_SS_TABLE_COLUMN_NUMBER e SQL_DIAG_SS_TABLE_ROW_NUMBER. Esses campos ajudam a determinar qual valor gerou o erro ou a mensagem de advertência associada ao registro de diagnóstico.

Para obter mais informações sobre parâmetros com valor de tabela, consulte Parâmetros com valor de tabela (ODBC).

Consulte também

Conceitos

Outros recursos