SET_SESSION_CHARSET

Gültig für

Extract und Replicat

Beschreibung

Verwenden Sie die Funktion SET_SESSION_CHARSET, um den Zeichensatz des User Exit festzulegen. Der Zeichensatz der User Exit-Session gibt die Codierung aller zeichenbasierten Callback-Strukturelemente an, die zwischen dem User Exit und dem Caller-Prozess (Extract, Data Pump, Replicat) verwendet werden, einschließlich Metadaten wie (jedoch nicht beschränkt auf):

Diese Funktion kann jederzeit aufgerufen werden, wenn der User Exit die Kontrolle hat. Wenn der User Exit den Session-Zeichensatz festlegt, wird er sofort wirksam, und alle Zeichenwerte werden in den angegebenen Satz konvertiert. Der empfohlene Ort zum Aufrufen dieser Funktion ist der Aufruftyp EXIT_CALL_START.

Hinweis: SET_SESSION_CHARSET ist nicht Thread-sicher.

Wenn SET_SESSION_CHARSET nicht aufgerufen wird, wird die Session auf den Standardzeichensatz des Betriebssystems gesetzt. Dabei handelt es sich um einen vordefinierten Enumerated-Typwert in ULIB_CS_DEFAULT in der Datei ucharset.h. Wenn der Sessionzeichensatz ein Standardwert aus ULIB_CS_DEFAULT ist, wird von Oracle GoldenGate keine Konvertierung für Zeichentypwerte durchgeführt, die zwischen dem User Exit und dem Aufruferprozess ausgetauscht werden. Darüber hinaus werden die Objektnamenmetadaten der Datenbank als Standardzeichensatz des Betriebssystems betrachtet. Beachten Sie, dass der Standardwert möglicherweise nicht korrekt ist.

Der Zeichensatz des User Exit wird in die Berichtsdatei gedruckt, wenn der User Exit geladen wird und wenn SET_SESSION_CHARSET aufgerufen wird. Wenn der Sessionzeichensatz ULIB_CS_DEFAULT lautet, wird in einer Meldung angegeben, dass keine Zeichensatzkonvertierung für Spaltendaten ausgeführt wird.

Syntax

#include usrdecs.h
short result_code;
session_def session_charset_def;
ERCALLBACK (SET_SESSION_CHARSET, &session_charset_def, &result_code);

Puffer

typedef struct
{
ULibCharSet  session_charset;
} session_def;

Eingabe

<session_charset>

Die gültigen Werte des Sessionzeichensatzes werden in der Headerdatei ucharset.h definiert.

Ausgabe

Keine

Rückgabewerte

EXIT_FN_RET_OK