GET_BASE_OBJECT_NAME
Gültig für
Extrakt und Replicat
Beschreibung
Mit der Funktion GET_BASE_OBJECT_NAME können Sie den vollqualifizierten Namen des Basisobjekts eines Quell- oder Zielobjekts abrufen, das mit dem verarbeiteten Datensatz verknüpft ist. Diese Funktion sind gültige Tabellen und andere Objekte in einem DDL-Vorgang.
So geben Sie nur einen Teil des Basisobjektnamens zurück:
GET_BASE_OBJECT_NAME_ONLY GET_BASE_SCHEMA_NAME_ONLY
Datenbankobjektnamen werden genau so zurückgegeben, wie sie in der Hostdatenbank definiert sind, einschließlich der Groß-/Kleinschreibung.
Syntax
#include "usrdecs.h"
short result_code;
env_value_def env_value;
ERCALLBACK (GET_BASE_OBJECT_NAME, &env_value, &result_code);
Puffer
typedef struct
{
char *buffer;
long max_length;
long actual_length;
short value_truncated;
short index;
short source_or_target;
} env_value_def;
Eingabe
<buffer>
Ein Zeiger auf einen Puffer, um den zurückgegebenen Objektnamen zu akzeptieren. Der Name ist Null-beendet.
<max_length>
Die maximale Länge des zugewiesenen Puffers, um den Objektnamen zu akzeptieren. Dies wird als beendete NULL-Zeichenfolge zurückgegeben.
<source_or_target>
Eine der folgenden Optionen gibt an, ob der Quell- oder Zielobjektname zurückgegeben werden soll.
EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL
Ausgabe
<buffer>
Der vollqualifizierte, nullbeendete Objektname, z.B. schema.object oder catalog.schema.object, je nach Datenbankplattform.
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 Objektname im Sessionzeichensatz interpretiert.
Istlänge
Die Zeichenfolgenlänge des zurückgegebenen Objektnamens. Die tatsächliche Länge enthält nicht den Null-Terminator. Die tatsächliche Länge ist 0, wenn das Objekt eine Tabelle ist.
<value_truncated>
Ein Flag (0 oder 1), das angibt, ob der Wert abgeschnitten wurde. Eine Abkürzung tritt auf, wenn die Länge des Objektnamens plus Null-Terminator die maximale Pufferlänge überschreitet.
Rückgabewerte
EXIT_FN_RET_INVALID_COLUMN
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_OK