GET_TABLE_METADATA
Gültig für
Extrakt und Replicat
Beschreibung
Verwenden Sie die Funktion GET_TABLE_METADATA, um Metadaten zu der Tabelle abzurufen, die mit dem verarbeiteten Datensatz verknüpft ist.
Syntax
#include "usrdecs.h"
short result_code;
table_metadata_def tbl_meta_rec;
ERCALLBACK (GET_TABLE_METADATA, &tbl_meta_rec, &result_code);
Puffer
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;
Eingabe
<table_name>
Ein Zeiger auf einen Puffer, um den Rückgabewert table_name zu akzeptieren
<key_columns>
Ein Zeiger auf ein Array von key_columns-Indizes.
<max_name_length>
Die maximale Länge des zurückgegebenen Tabellennamens. Normalerweise entspricht die maximale Länge der Länge des Tabellennamenpuffers. Da der zurückgegebene Tabellenname null-terminiert ist, muss die maximale Länge der maximalen Länge des Tabellennamens entsprechen.
<source_or_target>
Eine der folgenden Optionen gibt an, ob der Quell- oder Zieltabellenname zurückgegeben werden soll.
EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL
Ausgabe
<table_name>
Der Name der Tabelle, die dem verarbeiteten Datensatz zugeordnet ist. Wenn die Zeichensession des User Exit mit SET_SESSION_CHARSET auf einen anderen Wert als den Standardzeichensatz des Betriebssystems gesetzt wird, wie in ULIB_CS_DEFAULT in der Datei ucharset.h definiert, wird der Tabellenname im Sessionzeichensatz interpretiert.
<value_truncated>
Ein Flag (0 oder 1), das angibt, ob der Wert abgeschnitten wurde. Eine Abkürzung tritt auf, wenn die Länge des Tabellennamens plus des Null-Terminators die maximale Pufferlänge überschreitet.
<actual_name_length>
Die Zeichenfolgenlänge des zurückgegebenen Tabellennamens. Die tatsächliche Länge enthält nicht den Null-Terminator.
<num_columns>
Die Spaltenanzahl in der Tabelle
<num_key_columns>
Die Anzahl der Spalten im Schlüssel, die von Oracle GoldenGate verwendet werden.
<key_columns>
Die Werte für die Schlüsselspalten. Sie müssen die erwartete Anzahl von Schlüsseln multipliziert mit der Länge der Spalten kennen und dann die entsprechende Puffermenge zuweisen.
<num_keys_returned>
Die Anzahl der angeforderten Schlüsselspalten.
using_pseudo_key
Ein Flag, das angibt, ob von KEYCOLS angegebene Spalten als Schlüssel verwendet werden. Gibt TRUE oder FALSE zurück.
Rückgabewerte
EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_EXCEEDED_MAX_LENGTH
EXIT_FN_RET_OK