共用方式為


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

錯誤發生所在之伺服器的名稱。値會以字元字串傳回。字串長度 (以字元表示) 是由 SQL_MAX_SQLSERVERNAME 巨集在 sqlncli.h 中定義。

包含字元資料、SQL_DIAG_SS_PROCNAME 和 SQL_DIAG_SS_SRVNAME 的 SQL Server 特定診斷欄位,會將該資料以 ANSI、Unicode 或以 Null 結束的字元傳回給用戶端。如有必要,字元計數可依字元寬度進行調整。或者,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. 資料庫選項是開啟的,則也會針對 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

SET 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)>。

請參閱

概念

其他資源