GET_ERROR_INFO

有效對象

擷取與 Replicat

說明

使用 GET_ERROR_INFO 函數來擷取與捨棄記錄相關聯的錯誤資訊。使用者出口程式可以在自訂錯誤處理邏輯中使用此資訊。例如,使用者結束程式可以傳送含有詳細錯誤資訊的電子郵件訊息。

如果使用者結束程式的字元階段作業使用 SET_SESSION_CHARSET 設定為作業系統預設字元集以外的值 (如 ucharset.h 檔案中的 ULIB_CS_DEFAULT 所定義),則使用者結束程式與程序之間交換的訊息資料會以階段作業字元集解譯。

語法

#include "usrdecs.h"
short result_code;
error_info_def error_info;
ERCALLBACK (GET_ERROR_INFO, &error_info, &result_code);

緩衝區

typedef struct
{
long error_num;
char *error_msg;
long max_length;
long actual_length;
short msg_truncated;
} error_info_def;

輸入

<error_msg>

接受傳回錯誤訊息之緩衝區的指標。

<max_length>

您配置的 error_msg 緩衝區接受任何結果錯誤訊息的長度上限。以 NULL 終止字串傳回此字串。

輸出

<error_num>

與捨棄的記錄相關聯的 SQL 或系統錯誤編號。

<error_msg>

與已捨棄記錄相關聯之空值終止錯誤訊息字串的指標。

<actual_length>

錯誤訊息的長度,不包括空值終止字元。

<msg_truncated>

指示錯誤訊息是否被截斷的旗標 (0 或 1)。如果錯誤訊息的長度加上空值終止字元超過緩衝區長度上限,就會發生截斷。

傳回值

EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_OK