대치바다르
유효 기간
추출 및 복제
설명
문자 유형 열을 매핑할 때 소스 또는 대상 문자 집합에 대해 적합한 코드 포인트가 없을 경우 REPLACEBADCHAR 매개변수를 사용하여 프로세스의 응답을 제어합니다. 기본적으로 부적합한 코드 지점 검사는 소스 및 대상 데이터베이스에 다른 문자 집합이 있고 기본 응답이 비정상 종료인 경우에만 수행됩니다. FORCECHECK 옵션을 사용하면 소스와 대상 데이터베이스의 문자 집합이 같을 때 부적합한 코드포인트 검사를 프로세스에 강제 적용할 수 있으며, REPLACEBADCHAR는 전역적으로 적용됩니다.
기본값
ABORT
구문
REPLACEBADCHAR {ABORT | SKIP | ESCAPE | SUBSTITUTE <string> | NULL | SPACE} [FORCECHECK] [NOWARNING]
ABORT
부적합한 코드포인트에서 프로세스가 비정상 종료됩니다. 이는 기본값입니다.
SKIP
이 프로세스는 레코드의 잘못된 문자를 건너뜁니다.
ESCAPE
이 프로세스는 데이터 값을 데이터 값의 이스케이프 버전으로 바꿉니다. 원본 데이터베이스의 문자 집합에 따라 값은 다음 중 하나로 출력됩니다.
-
소스 데이터가
UTF-16(NCHAR/NVARCHAR)이 아닌 경우 출력이 16진수 출력(\xXX))입니다. -
소스 데이터가
UTF-16인 경우 유니코드(\uXXXX).) 출력입니다.
SUBSTITUTE <string>
이 프로세스는 데이터를 지정된 문자열(유니코드 표기법 또는 최대 4자)로 바꿉니다. 기본적으로 대상 문자 집합의 기본 대체 문자는 대체에 사용됩니다.
NULL
대상 열이 널 가능 열일 때 부적합한 문자를 NULL 값으로 바꾸고, 그렇지 않으면 공백(U+0020)을 지정합니다.
SPACE
부적합한 문자를 공백(U+0020)으로 바꿉니다.
FORCECHECK
소스와 대상 데이터베이스의 문자 집합가 같을 때 부적합한 코드포인트를 검사합니다. 이는 소스와 대상 문자 집합가 같을 때 검증을 건너뛴다는 기본값을 무효화합니다.
NOWARNING
변환 및 검증 오류와 관련된 경고 메시지를 표시하지 않습니다.
예제
예 1
다음 예에서는 부적합한 코드 포인트를 NULL 값으로 바꿉니다.
REPLACEBADCHAR NULL
예 2
ESCAPE가 지정되었으므로 Oracle GoldenGate는 소스 NCHAR 열의 유로 기호를 이스케이프된 버전 u20AC로 바꿉니다. 대상은 유로 코드 포인트를 지원하지 않는 ISO-8859-1이기 때문입니다.
REPLACEBADCHAR ESCAPE
예 3
다음은 부적합한 문자에 대한 제어 문자를 대체합니다.
REPLACEBADCHAR SUBSTITUTE \u001A