SQLGetDiagField

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System(PDW)

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_DIAG_SS_PROCNAME 및 SQL_DIAG_SS_SRVNAME 포함하는 SQL Server 관련 진단 필드는 null 종료, ANSI 또는 유니코드 문자열로 해당 데이터를 클라이언트에 반환합니다. 필요한 경우 문자 수를 문자 너비에 따라 조정해야 합니다. 또는 TCHAR 또는 SQLTCHAR와 같은 이식 가능한 C 데이터 형식을 사용하여 올바른 프로그램 변수 길이를 보장할 수 있습니다.

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. database option이 설정되면 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_DIAG_SS_TABLE_COLUMN_NUMBER 및 SQL_DIAG_SS_TABLE_ROW_NUMBER 두 개의 진단 필드를 검색할 수 있습니다. 이러한 필드는 진단 레코드와 관련된 오류 또는 경고를 발생시킨 값을 확인하는 데 도움이 됩니다.

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

참고 항목

SQLGetDiagField 함수
ODBC API 구현 정보