取代位元組字元

有效對象

擷取與 Replicat

說明

對應字元類型資料欄時,當來源或目標字元集沒有有效的代碼點時,請使用 REPLACEBADCHAR 參數來控制處理的回應。依照預設,只有在來源和目標資料庫具有不同的字元集,且預設回應為中止時,才會執行無效程式碼點的檢查。當來源與目標資料庫具有相同的字元集時,您可以使用 FORCECHECK 選項來強制程序檢查無效的程式碼點。REPLACEBADCHAR 適用於全球。

預設

ABORT

語法

REPLACEBADCHAR {ABORT | SKIP | ESCAPE | SUBSTITUTE <string> | NULL | SPACE} [FORCECHECK] [NOWARNING]

ABORT

處理作業在發現無效的字碼點時會異常中止. 這是預設值。

SKIP

處理程序會略過記錄中的錯誤字元。

ESCAPE

處理程序會以資料值的跳脫版本取代資料值。視來源資料庫的字元集而定,此值會輸出為下列其中一項:

SUBSTITUTE <string>

處理作業會以指定的字串 (Unicode 表示法或最多 4 個字元) 取代資料。預設會使用目標字元集的預設替代字元來取代。

NULL

若目標資料欄可為空值,則處理程序會以 NULL 的值取代無效字元,否則會指定一個空格 (U+0020)。

SPACE

處理作業會以空格 (U+0020) 取代無效的字元.

FORCECHECK

當來源及目標資料庫具有相同的字元集時,此程序會檢查無效的程式碼點。此舉會覆寫預設值,當來源與目標字元集完全相同時,會略過驗證。

NOWARNING

處理作業不會顯示與轉換和驗證錯誤有關的警告訊息.

範例

範例 1

下列範例會以 NULL 值取代無效的程式碼點。

REPLACEBADCHAR NULL

範例 2

因為已指定 ESCAPE,所以 Oracle GoldenGate 會將來源 NCHAR 資料欄中的 Euro 符號取代為遁離的 u20AC 版本,因為目標為 ISO-8859-1,不支援 Euro 程式碼點。

REPLACEBADCHAR ESCAPE

範例 3

下列項目會替換無效字元的控制字元。

REPLACEBADCHAR SUBSTITUTE \u001A