REPLACEBADCHAR
Valido per
Estrai e Replicat
Descrizione
Utilizzare il parametro REPLACEBADCHAR per controllare la risposta del processo quando non esiste un code point valido per il set di caratteri di origine o di destinazione durante il mapping delle colonne di tipo carattere. Per impostazione predefinita, il controllo dei codepoint non validi viene eseguito solo quando i database di origine e di destinazione hanno set di caratteri diversi e la risposta predefinita consiste nell'interruzione. È possibile utilizzare l'opzione FORCECHECK per forzare il processo a controllare la presenza di codepoint non validi quando i database di origine e di destinazione hanno lo stesso set di caratteri. REPLACEBADCHAR si applica a livello globale.
Predefinito
ABORT
Sintassi
REPLACEBADCHAR {ABORT | SKIP | ESCAPE | SUBSTITUTE <string> | NULL | SPACE} [FORCECHECK] [NOWARNING]
ABORT
Il processo si interrompe su un punto di codice non valido. Si tratta dello stato predefinito.
SKIP
Il processo salta il carattere errato in un record.
ESCAPE
Il processo sostituisce il valore dei dati con una versione di escape del valore dei dati. A seconda del set di caratteri del database di origine, il valore viene generato come uno dei seguenti:
-
Se i dati di destinazione non sono in
UTF-16(NCHAR/NVARCHAR), l'output è esadecimale (\xXX)). -
Se i dati di origine sono in formato
UTF-16, l'output è Unicode (\uXXXX).)
SUBSTITUTE <string>
Il processo sostituisce i dati con una stringa specificata, una notazione Unicode o un massimo di quattro caratteri. Per impostazione predefinita, per la sostituzione viene utilizzato il carattere di sostituzione predefinito del set di caratteri di destinazione.
NULL
Il processo sostituisce un carattere non valido con il valore NULL se la colonna di destinazione è annullabile oppure assegna uno spazio (U+0020).
SPACE
Il processo sostituisce un carattere non valido con uno spazio (U+0020).
FORCECHECK
Il processo controlla la presenza dei punti codice non validi, se i database di origine e destinazione hanno set di caratteri identici. Ciò consente di eseguire l'override dell'impostazione predefinita, in cui la convalida viene saltata se i set dei caratteri di origine e destinazione sono identici.
NOWARNING
Il processo elimina i messaggi di avvertenza relativi agli errori di conversione e di convalida.
Esempi
Esempio 1
L'esempio seguente sostituisce i punti di codice non validi con il valore NULL.
REPLACEBADCHAR NULL
Esempio 2
Poiché è specificato ESCAPE, Oracle GoldenGate sostituirà il simbolo Euro in una colonna NCHAR di origine con la versione di escape di u20AC, poiché la destinazione è ISO-8859-1, che non supporta il punto di codice Euro.
REPLACEBADCHAR ESCAPE
Esempio 3
Di seguito viene sostituito un carattere di controllo per i caratteri non validi.
REPLACEBADCHAR SUBSTITUTE \u001A