GET_TABLE_METADATA
有效對象
擷取與 Replicat
說明
使用 GET_TABLE_METADATA 函數可擷取與正在處理之記錄關聯之表格的相關描述資料。
語法
#include "usrdecs.h"
short result_code;
table_metadata_def tbl_meta_rec;
ERCALLBACK (GET_TABLE_METADATA, &tbl_meta_rec, &result_code);
緩衝區
typedef struct
{
char *table_name;
short value_truncated;
long max_name_length;
long actual_name_length;
short num_columns;
short num_key_columns;
short *key_columns;
short num_keys_returned;
BOOL using_pseudo_key;
short source_or_target;
} table_metadata_def;
輸入
<table_name>
接受 table_name 傳回值的緩衝區指標
<key_columns>
指向 key_columns 索引陣列的指標。
<max_name_length>
傳回之表格名稱的長度上限。通常,長度上限為表格名稱緩衝區的長度。因為傳回的表格名稱為空值終止,所以長度上限應等於表格名稱的長度上限。
<source_or_target>
下列其中一個指示是否傳回來源或目標表格名稱。
EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL
輸出
<table_name>
與正在處理之記錄相關聯的表格名稱。如果使用者結束程式的字元階段作業使用 SET_SESSION_CHARSET 設定為作業系統預設字元集以外的值 (如 ucharset.h 檔案中的 ULIB_CS_DEFAULT 所定義),則表格名稱會在階段作業字元集中解譯。
<value_truncated>
指示值是否被截斷的旗標 (0 或 1)。如果表格名稱加上空值終止字元的長度超過緩衝區長度上限,就會發生截斷。
<actual_name_length>
傳回之表格名稱的字串長度。實際長度不包含空值終止字元。
<num_columns>
表格中的資料欄數目。
<num_key_columns>
Oracle GoldenGate 正在使用之索引鍵中的資料欄數目。
<key_columns>
索引鍵資料欄的值。您必須知道預期的索引鍵數目乘以資料欄長度,然後配置適當的緩衝區數量。
<num_keys_returned>
要求的索引鍵資料欄數目。
using_pseudo_key
指示是否使用 KEYCOLS 指定資料欄作為索引鍵的旗標。傳回 TRUE 或 FALSE。
傳回值
EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_EXCEEDED_MAX_LENGTH
EXIT_FN_RET_OK