字元替換任務設定 - AWS資料庫遷移服務

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

字元替換任務設定

您可以指定複寫任務針對具有AWS DMS STRINGWSTRING資料類型的所有來源資料庫資料欄,在目標資料庫上執行字元替換。如需使用任務組態檔案來設定任務設定的相關資訊,請參閱:任務設定範例

您可以使用來自下列來源和目標資料庫的端點,為任何任務設定字元替換:

  • 來源資料庫:

    • Oracle

    • Microsoft SQL Server

    • MySQL

    • PostgreSQL

    • SAP Adaptive Server Enterprise (ASE)

    • IBM Db2 LUW

  • 目標資料庫:

    • Oracle

    • Microsoft SQL Server

    • MySQL

    • PostgreSQL

    • SAP Adaptive Server Enterprise (ASE)

    • Amazon Redshift

您可以在任務設定中使用 CharacterSetSettings 參數來指定字元替換。這些字元替換會針對使用 Unicode 字碼指標值 (十六進位表示法) 指定的字元。如果同時指定兩者,您可以依下列順序實作兩階段替換:

  1. 個別字元取代 – AWS DMS可以將來源上所選字元的值取代為目標上對應字元的指定取代值。使用 CharacterSetSettings 中的 CharacterReplacements 陣列來選取具有您指定之 Unicode 字碼指標的所有來源字元。也使用此陣列來指定目標上對應字元的取代字碼指標。

    若要選取來源上具有指定程式碼指標的所有字元,請將 CharacterReplacements 陣列中的 SourceCharacterCodePoint 執行個體設定為該程式碼指標。然後,透過設定此陣列 TargetCharacterCodePoint 中對應的執行個體,指定所有同等目標字元的取代字碼指標。若要刪除目標字元而非取代它們,請將適當的 TargetCharacterCodePoint 執行個體設定為零 (0)。您可以透過在 CharacterReplacements 陣列中指定額外的 SourceCharacterCodePointTargetCharacterCodePoint 設定對,來取代或刪除任意數量的目標字元值。如果您為 SourceCharacterCodePoint 的多個執行個體指定相同的值,最後 TargetCharacterCodePoint 的對應設定的值會套用至目標。

    例如,假設您為 CharacterReplacements 指定下列值。

    "CharacterSetSettings": { "CharacterReplacements": [ { "SourceCharacterCodePoint": 62, "TargetCharacterCodePoint": 61 }, { "SourceCharacterCodePoint": 42, "TargetCharacterCodePoint": 41 } ] }

    在此範例中, 會將目標上具有來源碼點十六進位值 62 的所有字元AWS DMS取代為程式碼點值 61 的字元。此外,以代碼點值為 41 的字元AWS DMS取代目標上具有來源碼點 42 的所有字元。換言之,AWS DMS 會以字母 'a' 取代目標上字母 'b' 的所有執行個體。同樣地, 會以字母 AWS DMS取代目標'B'上字母的所有執行個體'A'

  2. 字元集驗證和替換 – 完成任何個別字元替換後,AWS DMS可以確保所有目標字元在您指定的單一字元集中都有有效的 Unicode 程式碼點。您可以在 CharacterSetSettings 中使用 CharacterSetSupport 來設定此目標字元驗證和修改。若要指定驗證字元集,請將 CharacterSetSupport 中的 CharacterSet 設為字元集的字串值。(CharacterSet 的可能值如下。) 您可以透過下列其中一種方式AWS DMS修改無效的目標字元:

    • 為所有無效目標字元指定單一替換 Unicode 字碼指標,無論其目前的字碼指標為何。若要設定此取代程式碼指標,請將 CharacterSetSupport 中的 ReplaceWithCharacterCodePoint 設為指定的值。

    • ReplaceWithCharacterCodePoint 設為零 (0),以設定刪除所有無效的目標字元。

    例如,假設您為 CharacterSetSupport 指定下列值。

    "CharacterSetSettings": { "CharacterSetSupport": { "CharacterSet": "UTF16_PlatformEndian", "ReplaceWithCharacterCodePoint": 0 } }

    在此範例中, 會AWS DMS刪除在字元集中無效的目標上找到的任何"UTF16_PlatformEndian"字元。因此,它會刪除任何以十六進位值 2FB6 指定的字元。此值無效,因為這是 4 位元組 Unicode 字碼指標,而 UTF16 字元集僅接受具有 2 位元組字碼指標的字元。

注意

複寫任務會先完成所有指定的字元替換,再啟動您透過資料表映射指定的任何全域或資料表層級轉換。如需資料表映射的詳細資訊,請參閱使用資料表映射指定任務設定

字元替換不支援 LOB 資料類型。這包括 DMS 認為是 LOB 資料類型的任何資料類型。例如,在 Oracle 中的 Extended 資料類型被認為是 LOB。如需有關來源資料類型的詳細資訊,請參閱下列 Oracle 的來源資料類型

AWS DMS支援 的值CharacterSet會顯示在下表中。

UTF-8 ibm-860_P100-1995 ibm-280_P100-1995
UTF-16 ibm-861_P100-1995 ibm-284_P100-1995
UTF-16BE ibm-862_P100-1995 ibm-285_P100-1995
UTF-16LE ibm-863_P100-1995 ibm-290_P100-1995
UTF-32 ibm-864_X110-1999 ibm-297_P100-1995
UTF-32BE ibm-865_P100-1995 ibm-420_X120-1999
UTF-32LE ibm-866_P100-1995 ibm-424_P100-1995
UTF16_PlatformEndian ibm-867_P100-1998 ibm-500_P100-1995
UTF16_OppositeEndian ibm-868_P100-1995 ibm-803_P100-1999
UTF32_PlatformEndian ibm-869_P100-1995 ibm-838_P100-1995
UTF32_OppositeEndian ibm-878_P100-1996 ibm-870_P100-1995
UTF-16BE,version=1 ibm-901_P100-1999 ibm-871_P100-1995
UTF-16LE,version=1 ibm-902_P100-1999 ibm-875_P100-1995
UTF-16,version=1 ibm-922_P100-1999 ibm-918_P100-1995
UTF-16,version=2 ibm-1168_P100-2002 ibm-930_P120-1999
UTF-7 ibm-4909_P100-1999 ibm-933_P110-1995
IMAP-mailbox-name ibm-5346_P100-1998 ibm-935_P110-1999
SCSU ibm-5347_P100-1998 ibm-937_P110-1999
BOCU-1 ibm-5348_P100-1997 ibm-939_P120-1999
CESU-8 ibm-5349_P100-1998 ibm-1025_P100-1995
ISO-8859-1 ibm-5350_P100-1998 ibm-1026_P100-1995
US-ASCII ibm-9447_P100-2002 ibm-1047_P100-1995
gb18030 ibm-9448_X100-2005 ibm-1097_P100-1995
ibm-912_P100-1995 ibm-9449_P100-2002 ibm-1112_P100-1995
ibm-913_P100-2000 ibm-5354_P100-1998 ibm-1122_P100-1999
ibm-914_P100-1995 ibm-1250_P100-1995 ibm-1123_P100-1995
ibm-915_P100-1995 ibm-1251_P100-1995 ibm-1130_P100-1997
ibm-1089_P100-1995 ibm-1252_P100-2000 ibm-1132_P100-1998
ibm-9005_X110-2007 ibm-1253_P100-1995 ibm-1137_P100-1999
ibm-813_P100-1995 ibm-1254_P100-1995 ibm-4517_P100-2005
ibm-5012_P100-1999 ibm-1255_P100-1995 ibm-1140_P100-1997
ibm-916_P100-1995 ibm-5351_P100-1998 ibm-1141_P100-1997
ibm-920_P100-1995 ibm-1256_P110-1997 ibm-1142_P100-1997
iso-8859_10-1998 ibm-5352_P100-1998 ibm-1143_P100-1997
iso-8859_11-2001 ibm-1257_P100-1995 ibm-1144_P100-1997
ibm-921_P100-1995 ibm-5353_P100-1998 ibm-1145_P100-1997
iso-8859_14-1998 ibm-1258_P100-1997 ibm-1146_P100-1997
ibm-923_P100-1998 macos-0_2-10.2 ibm-1147_P100-1997
ibm-942_P12A-1999 macos-6_2-10.4 ibm-1148_P100-1997
ibm-943_P15A-2003 macos-7_3-10.2 ibm-1149_P100-1997
ibm-943_P130-1999 macos-29-10.2 ibm-1153_P100-1999
ibm-33722_P12A_P12A-2009_U2 macos-35-10.2 ibm-1154_P100-1999
ibm-33722_P120-1999 ibm-1051_P100-1995 ibm-1155_P100-1999
ibm-954_P101-2007 ibm-1276_P100-1995 ibm-1156_P100-1999
euc-jp-2007 ibm-1006_P100-1995 ibm-1157_P100-1999
ibm-1373_P100-2002 ibm-1098_P100-1995 ibm-1158_P100-1999
windows-950-2000 ibm-1124_P100-1996 ibm-1160_P100-1999
ibm-950_P110-1999 ibm-1125_P100-1997 ibm-1164_P100-1999
ibm-1375_P100-2008 ibm-1129_P100-1997 ibm-1364_P110-2007
ibm-5471_P100-2006 ibm-1131_P100-1997 ibm-1371_P100-1999
ibm-1386_P100-2001 ibm-1133_P100-1997 ibm-1388_P103-2001
windows-936-2000 ISO_2022,locale=ja,version=0 ibm-1390_P110-2003
ibm-1383_P110-1999 ISO_2022,locale=ja,version=1 ibm-1399_P110-2003
ibm-5478_P100-1995 ISO_2022,locale=ja,version=2 ibm-5123_P100-1999
euc-tw-2014 ISO_2022,locale=ja,version=3 ibm-8482_P100-1999
ibm-964_P110-1999 ISO_2022,locale=ja,version=4 ibm-16684_P110-2003
ibm-949_P110-1999 ISO_2022,locale=ko,version=0 ibm-4899_P100-1998
ibm-949_P11A-1999 ISO_2022,locale=ko,version=1 ibm-4971_P100-1999
ibm-970_P110_P110-2006_U2 ISO_2022,locale=zh,version=0 ibm-9067_X100-2005
ibm-971_P100-1995 ISO_2022,locale=zh,version=1 ibm-12712_P100-1998
ibm-1363_P11B-1998 ISO_2022,locale=zh,version=2 ibm-16804_X110-1999
ibm-1363_P110-1997 HZ ibm-37_P100-1995,swaplfnl
windows-949-2000 x11-compound-text ibm-1047_P100-1995,swaplfnl
windows-874-2000 ISCII,version=0 ibm-1140_P100-1997,swaplfnl
ibm-874_P100-1995 ISCII,version=1 ibm-1141_P100-1997,swaplfnl
ibm-1162_P100-1999 ISCII,version=2 ibm-1142_P100-1997,swaplfnl
ibm-437_P100-1995 ISCII,version=3 ibm-1143_P100-1997,swaplfnl
ibm-720_P100-1997 ISCII,version=4 ibm-1144_P100-1997,swaplfnl
ibm-737_P100-1997 ISCII,version=5 ibm-1145_P100-1997,swaplfnl
ibm-775_P100-1996 ISCII,version=6 ibm-1146_P100-1997,swaplfnl
ibm-850_P100-1995 ISCII,version=7 ibm-1147_P100-1997,swaplfnl
ibm-851_P100-1995 ISCII,version=8 ibm-1148_P100-1997,swaplfnl
ibm-852_P100-1995 LMBCS-1 ibm-1149_P100-1997,swaplfnl
ibm-855_P100-1995 ibm-37_P100-1995 ibm-1153_P100-1999,swaplfnl
ibm-856_P100-1995 ibm-273_P100-1995 ibm-12712_P100-1998,swaplfnl
ibm-857_P100-1995 ibm-277_P100-1995 ibm-16804_X110-1999,swaplfnl
ibm-858_P100-1997 ibm-278_P100-1995 ebcdic-xml-us