補充バドチャ
有効な対象
ExtractおよびReplicat
摘要
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の場合、出力はUnicode (\uXXXX)です。
SUBSTITUTE <string>
データは、Unicode表記法または4文字以上の指定された文字列に置換されます。デフォルトでは、ターゲット文字セットのデフォルト置換文字が置換に使用されます。
NULL
ターゲット列がnull値可能であれば、プロセスは無効な文字をNULLの値に置き換えます。それ以外の場合、空白(U+0020)を割り当てます。
SPACE
プロセスは無効な文字を空白文字(U+0020)に置き換えます。
FORCECHECK
ソース・データベースおよびターゲット・データベースの文字セットが同一の場合、無効なコード・ポイントをチェックします。このオプションはデフォルトより優先されます。デフォルトでは、ソースおよびターゲットの文字セットが同一の場合、検証はスキップされます。
NOWARNING
プロセスは、変換および検証エラーに関する警告メッセージを抑止します。
例
例1
次の例では、無効なコード・ポイントをNULL値に置換します。
REPLACEBADCHAR NULL
例2
ESCAPEが指定されているので、ソースのNCHAR列のユーロ記号がエスケープ・バージョンのu20ACに置換されます。これは、ターゲットがISO-8859-1で、ユーロ・コード・ポイントがサポートされないためです。
REPLACEBADCHAR ESCAPE
例3
次の例では、無効な文字を制御文字に置換します。
REPLACEBADCHAR SUBSTITUTE \u001A