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:

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