다음을 통해 공유


SQLGetDiagField

SQL Server Native Client ODBC 드라이버는 SQLGetDiagField에 대해 다음과 같은 추가 진단 필드를 지정합니다. 이러한 필드는 SQL Server 응용 프로그램에 대한 다양한 오류 보고를 지원하며 연결된 ODBC 연결 핸들과 ODBC 문 핸들에서 생성된 모든 진단 레코드에서 사용할 수 있습니다. 필드는 sqlncli.h에서 정의됩니다.

진단 레코드 필드

설명

SQL_DIAG_SS_LINE

오류를 생성하는 저장 프로시저의 줄 번호를 보고합니다. SQL_DIAG_SS_LINE 값은 SQL_DIAG_SS_PROCNAME에서 값을 반환하는 경우에만 의미가 있습니다. 값은 부호 없는 16비트 정수로 반환됩니다.

SQL_DIAG_SS_MSGSTATE

오류 메시지의 상태입니다. 오류 메시지 상태에 대한 자세한 내용은 RAISERROR를 참조하십시오. 값은 부호 있는 32비트 정수로 반환됩니다.

SQL_DIAG_SS_PROCNAME

필요한 경우 오류를 생성하는 저장 프로시저의 이름입니다. 값은 문자열로 반환됩니다. 문자열 길이(문자 수)는 SQL Server 버전에 따라 달라집니다. SQL_MAX_PROCEDURE_NAME_LEN의 값을 요청하는 SQLGetInfo를 호출하여 값을 확인할 수 있습니다.

SQL_DIAG_SS_SEVERITY

관련된 오류 메시지의 심각도 수준입니다. 값은 부호 있는 32비트 정수로 반환됩니다.

SQL_DIAG_SS_SRVNAME

오류가 발생한 서버의 이름입니다. 값은 문자열로 반환됩니다. 문자열 길이(문자 수)는 sqlncli.h의 SQL_MAX_SQLSERVERNAME 매크로에 의해 정의됩니다.

문자 데이터가 포함된 SQL Server 관련 진단 필드 SQL_DIAG_SS_PROCNAME과 SQL_DIAG_SS_SRVNAME은 해당 데이터를 Null로 종결된 ANSI 또는 유니코드 문자열로 클라이언트에 반환합니다. 필요한 경우 문자 너비로 문자 수를 조정해야 합니다. 또는 이식 가능한 C 데이터 형식(예: TCHAR 또는 SQLTCHAR)을 사용하여 올바른 프로그램 변수 길이를 유지할 수 있습니다.

SQL Server Native Client ODBC 드라이버는 마지막으로 시도된 SQL Server 문을 식별하는 다음과 같은 추가 동적 함수 코드를 보고합니다. 동적 함수 코드는 진단 레코드 집합의 헤더(레코드 0)에 반환되므로 성공 여부에 관계없이 실행할 때마다 사용할 수 있습니다.

동적 함수 코드

원본

SQL_DIAG_DFC_SS_ALTER_DATABASE

ALTER DATABASE 문

SQL_DIAG_DFC_SS_CHECKPOINT

CHECKPOINT 문

SQL_DIAG_DFC_SS_CONDITION

문의 WHERE 또는 HAVING 절에서 오류 발생

SQL_DIAG_DFC_SS_CREATE_DATABASE

CREATE DATABASE 문

SQL_DIAG_DFC_SS_CREATE_DEFAULT

CREATE DEFAULT 문

SQL_DIAG_DFC_SS_CREATE_PROCEDURE

CREATE PROCEDURE 문

SQL_DIAG_DFC_SS_CREATE_RULE

CREATE RULE 문

SQL_DIAG_DFC_SS_CREATE_TRIGGER

CREATE TRIGGER 문

SQL_DIAG_DFC_SS_CURSOR_DECLARE

DECLARE CURSOR 문

SQL_DIAG_DFC_SS_CURSOR_OPEN

OPEN 문

SQL_DIAG_DFC_SS_CURSOR_FETCH

FETCH 문

SQL_DIAG_DFC_SS_CURSOR_CLOSE

CLOSE 문

SQL_DIAG_DFC_SS_DEALLOCATE_CURSOR

DEALLOCATE 문

SQL_DIAG_DFC_SS_DBCC

DBCC 문

SQL_DIAG_DFC_SS_DENY

DENY 문

SQL_DIAG_DFC_SS_DROP_DATABASE

DROP DATABASE 문

SQL_DIAG_DFC_SS_DROP_DEFAULT

DROP DEFAULT 문

SQL_DIAG_DFC_SS_DROP_PROCEDURE

DROP PROCEDURE 문

SQL_DIAG_DFC_SS_DROP_RULE

DROP RULE 문

SQL_DIAG_DFC_SS_DROP_TRIGGER

DROP TRIGGER 문

SQL_DIAG_DFC_SS_DUMP_DATABASE

BACKUP 또는 DUMP DATABASE 문

SQL_DIAG_DFC_SS_DUMP_TABLE

DUMP TABLE 문

SQL_DIAG_DFC_SS_DUMP_TRANSACTION

BACKUP 또는 DUMP TRANSACTION 문. trunc. log on chkpt. 데이터베이스 옵션이 설정되어 있으면 CHECKPOINT 문에 대해서도 반환됩니다.

SQL_DIAG_DFC_SS_GOTO

GOTO 흐름 제어 문

SQL_DIAG_DFC_SS_INSERT_BULK

INSERT BULK 문

SQL_DIAG_DFC_SS_KILL

KILL 문

SQL_DIAG_DFC_SS_LOAD_DATABASE

LOAD 또는 RESTORE DATABASE 문

SQL_DIAG_DFC_SS_LOAD_HEADERONLY

LOAD 또는 RESTORE HEADERONLY 문

SQL_DIAG_DFC_SS_LOAD_TABLE

LOAD TABLE 문

SQL_DIAG_DFC_SS_LOAD_TRANSACTION

LOAD 또는 RESTORE TRANSACTION 문

SQL_DIAG_DFC_SS_PRINT

PRINT 문

SQL_DIAG_DFC_SS_RAISERROR

RAISERROR 문

SQL_DIAG_DFC_SS_READTEXT

READTEXT 문

SQL_DIAG_DFC_SS_RECONFIGURE

RECONFIGURE 문

SQL_DIAG_DFC_SS_RETURN

RETURN 흐름 제어 문

SQL_DIAG_DFC_SS_SELECT_INTO

SELECT INTO 문

SQL_DIAG_DFC_SS_SET

SET 문(일반, 모든 옵션)

SQL_DIAG_DFC_SS_SET_IDENTITY_INSERT

SET IDENTITY_INSERT 문

SQL_DIAG_DFC_SS_SET_ROW_COUNT

SET ROWCOUNT 문

SQL_DIAG_DFC_SS_SET_STATISTICS

SET STATISTICS IO 또는 SET STATISTICS TIME 문

SQL_DIAG_DFC_SS_SET_TEXTSIZE

CREATE TEXTSIZE 문

SQL_DIAG_DFC_SS_SETUSER

SETUSER 문

SQL_DIAG_DFC_SS_SET_XCTLVL

SET TRANSACTION ISOLATION LEVEL 문

SQL_DIAG_DFC_SS_SHUTDOWN

SHUTDOWN 문

SQL_DIAG_DFC_SS_TRANS_BEGIN

BEGIN TRAN 문

SQL_DIAG_DFC_SS_TRANS_COMMIT

COMMIT TRAN 문

SQL_DIAG_DFC_SS_TRANS_PREPARE

분산 트랜잭션 커밋 준비

SQL_DIAG_DFC_SS_TRANS_ROLLBACK

ROLLBACK TRAN 문

SQL_DIAG_DFC_SS_TRANS_SAVE

SAVE TRAN 문

SQL_DIAG_DFC_SS_TRUNCATE_TABLE

TRUNCATE TABLE 문

SQL_DIAG_DFC_SS_UPDATE_STATISTICS

UPDATE STATISTICS 문

SQL_DIAG_DFC_SS_UPDATETEXT

UPDATETEXT 문

SQL_DIAG_DFC_SS_USE

USE 문

SQL_DIAG_DFC_SS_WAITFOR

WAITFOR 흐름 제어 문

SQL_DIAG_DFC_SS_WRITETEXT

WRITETEXT 문

SQLGetDiagField 및 테이블 반환 매개 변수

SQLGetDiagField를 사용하여 SQL Server 2008에서 추가된 두 개의 진단 필드 SQL_DIAG_SS_TABLE_COLUMN_NUMBER 및 SQL_DIAG_SS_TABLE_ROW_NUMBER를 검색할 수 있습니다. 두 필드는 진단 레코드와 관련된 오류 또는 경고를 발생시킨 값을 확인하는 데 유용합니다.

테이블 반환 매개 변수에 대한 자세한 내용은 테이블 반환 매개 변수(ODBC)를 참조하십시오.