SUBSTITUIR BADCHAR
Válido Para
Extract e Replicat
Descrição
Use o parâmetro REPLACEBADCHAR para controlar a resposta do processo quando não existir um ponto de código válido para o conjunto de caracteres de origem ou de destino ao mapear colunas de tipo de caractere. Por padrão, a verificação de pontos de código inválidos só é executada quando os bancos de dados de origem e de destino têm conjuntos de caracteres diferentes, e a resposta padrão é abend. Você pode usar a opção FORCECHECK para impor que o processo verifique pontos inválidos de código quando os bancos de Dados de origem e de destino tiverem o mesmo conjunto. O REPLACEBADCHAR se aplica globalmente.
Padrão
ABORT
Sintaxe
REPLACEBADCHAR {ABORT | SKIP | ESCAPE | SUBSTITUTE <string> | NULL | SPACE} [FORCECHECK] [NOWARNING]
ABORT
O processo é encerrado em um ponto de código inválido. Este é o padrão.
SKIP
O processo ignora o caractere inválido em um registro.
ESCAPE
O processo substitui o valor de dados por uma versão com escape do valor de dados. Dependendo do conjunto de caracteres do banco de dados de origem, o valor será gerado como um dos seguintes:
-
Se os dados de fonte não forem
UTF-16(NCHAR/NVARCHAR), a saída será hexadecimal (\xXX). -
Se os dados de origem forem
UTF-16, a saída será Unicode (\uXXXX).)
SUBSTITUTE <string>
O processo substitui os dados por uma string especificada, notação Unicode ou até quatro caracteres. Por padrão, o caractere de substituição padrão do conjunto de caracteres de destino é usado para substituição.
NULL
O processo substituirá um caractere inválido pelo valor NULL se a coluna de destino for anulável ou, caso contrário, designará um espaço em branco (U+0020).
SPACE
O processo substitui um caractere inválido por um espaço em branco (U+0020).
FORCECHECK
O processo verifica pontos de código inválidos quando os bancos de dado de origem e destino têm conjuntos de caracteres idênticos. Isso substitui o padrão, em que a validação é ignorada quando os grupos de caracteres de origem e destino são idênticos.
NOWARNING
O processo suprime as mensagens de advertência relacionadas aos erros de conversão e de validação.
Exemplos
Exemplo 1
O exemplo a seguir substitui pontos de código inválidos pelo valor de NULL.
REPLACEBADCHAR NULL
Exemplo 2
Como ESCAPE está especificado, o Oracle GoldenGate substituirá o símbolo Euro em uma coluna NCHAR de origem pela versão com escape de u20AC, porque o destino é ISO-8859-1, que não suporta o ponto de código Euro.
REPLACEBADCHAR ESCAPE
Exemplo 3
O seguinte substitui um caractere de controle por caracteres inválidos.
REPLACEBADCHAR SUBSTITUTE \u001A