SET_SESSION_CHARSET
Valido per
Estrai e Replicat
Descrizione
Utilizzare la funzione SET_SESSION_CHARSET per impostare il set di caratteri dell'uscita utente. Il set di caratteri della sessione di user exit indica la codifica di qualsiasi membro della struttura di callback basato su caratteri utilizzato tra l'uscita utente e il processo chiamante (Extract, data pump, Replicat), inclusi metadati quali (ma non limitati a):
-
nomi di database e versioni locali
-
nomi tabella e colonna
-
Testo
DDL -
messaggi di errore
-
colonne di tipo carattere quali
CHAReNCHAR -
colonne data-ora e numeriche rappresentate in formato stringa
Questa funzione può essere chiamata in qualsiasi momento in cui l'uscita utente ha il controllo. Quando l'utente esce imposta il set di caratteri della sessione, questo diventa effettivo immediatamente e tutti i valori dei caratteri iniziano a essere convertiti nel set specificato. Il luogo consigliato per chiamare questa funzione è il tipo di chiamata EXIT_CALL_START.
Nota: SET_SESSION_CHARSET non è thread-safe.
Se SET_SESSION_CHARSET non viene richiamato, la sessione viene impostata sul set di caratteri predefinito del sistema operativo, che è un valore di tipo enumerato predefinito in ULIB_CS_DEFAULT nel file ucharset.h. Quando il set di caratteri della sessione è predefinito da ULIB_CS_DEFAULT, Oracle GoldenGate non esegue alcuna conversione per i valori del tipo di carattere scambiati tra l'uscita utente e il processo chiamante. Inoltre, i metadati object-name del database sono considerati il set di caratteri predefinito del sistema operativo. Tieni presente che l'impostazione predefinita potrebbe non essere corretta.
Il set di caratteri dell'uscita utente viene stampato nel file del report quando viene caricata l'uscita utente e quando viene richiamato SET_SESSION_CHARSET. Se il set di caratteri della sessione è ULIB_CS_DEFAULT, viene visualizzato un messaggio che indica che non viene eseguita alcuna conversione del set di caratteri dei dati della colonna.
Sintassi
#include usrdecs.h
short result_code;
session_def session_charset_def;
ERCALLBACK (SET_SESSION_CHARSET, &session_charset_def, &result_code);
Buffer
typedef struct
{
ULibCharSet session_charset;
} session_def;
Input
<session_charset>
I valori validi del set di caratteri della sessione sono definiti nel file di intestazione ucharset.h.
Output
Nessuno
Valori restituiti
EXIT_FN_RET_OK