Configuración de la tarea de sustitución de caracteres - AWS Database Migration Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración de la tarea de sustitución de caracteres

Puede especificar que, en la base de datos de destino, la tarea de replicación sustituya caracteres en todas las columnas de la base de datos de origen que tienen el tipo de datos WSTRING o STRING de AWS DMS. Para obtener información sobre cómo utilizar un archivo de configuración de tareas para establecer la configuración de las tareas, consulte Ejemplo de configuración de tarea.

Puede configurar la sustitución de caracteres para cualquier tarea con puntos de enlace desde las siguientes bases de datos de origen y de destino:

  • Bases de datos de origen

    • Oracle

    • Microsoft SQL Server

    • MySQL

    • PostgreSQL

    • SAP Adaptive Server Enterprise (ASE)

    • IBM Db2 LUW

  • Bases de datos de destino:

    • Oracle

    • Microsoft SQL Server

    • MySQL

    • PostgreSQL

    • SAP Adaptive Server Enterprise (ASE)

    • Amazon Redshift

Puede especificar sustituciones de caracteres mediante el parámetro CharacterSetSettings en la configuración de la tarea. Estas sustituciones de caracteres se producen para caracteres especificados mediante el valor de punto de código Unicode en notación hexadecimal. Puede implementar las sustituciones en dos fases, en el orden siguiente si se especifican ambas:

  1. Sustitución de caracteres individuales: AWS DMS puede sustituir los valores de los caracteres seleccionados en el origen por valores de sustitución especificados de los caracteres correspondientes en el destino. Utilice la matriz CharacterReplacements de CharacterSetSettings para seleccionar todos los caracteres de origen que tengan los puntos de código Unicode que especifique. Utilice esta matriz también para especificar los puntos de código de sustitución para los caracteres correspondientes en el destino.

    Para seleccionar todos los caracteres del origen que tengan un punto de código determinado, establezca una instancia de SourceCharacterCodePoint en la matriz CharacterReplacements en ese punto de código. A continuación, especifique el punto de código de sustitución para todos los caracteres de destino equivalentes estableciendo la instancia correspondiente de TargetCharacterCodePoint en esta matriz. Para eliminar los caracteres de destino en lugar de reemplazarlos, establezca las instancias adecuadas de TargetCharacterCodePoint en cero (0). Puede sustituir o eliminar tantos valores diferentes de caracteres de destino como desee especificando pares adicionales de configuración TargetCharacterCodePoint SourceCharacterCodePoint y en la matriz CharacterReplacements. Si especifica el mismo valor para varias instancias de SourceCharacterCodePoint, se aplica al destino el valor de la última configuración correspondiente de TargetCharacterCodePoint.

    Por ejemplo, suponga que especifica los siguientes valores para CharacterReplacements.

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

    En este ejemplo, AWS DMS sustituye todos los caracteres que tienen el valor hexadecimal de punto de código fuente 62 en el destino por caracteres con el valor de punto de código 61. Además, AWS DMS sustituye todos los caracteres que tienen el punto de código fuente 42 en el destino por caracteres con el valor de punto de código 41. En otras palabras, AWS DMS sustituye todas las instancias de la letra 'b' del destino por la letra 'a'. De igual modo, AWS DMS sustituye todas las instancias de la letra 'B' del destino por la letra 'A'.

  2. Validación y sustitución de conjuntos de caracteres: una vez completadas las sustituciones de caracteres individuales, AWS DMS puede asegurarse de que todos los caracteres de destino tengan puntos de código Unicode válidos en el conjunto de caracteres único que especifique. Puede utilizar CharacterSetSupport en CharacterSetSettings para configurar la verificación y modificación de este carácter de destino. Para especificar el conjunto de caracteres de verificación, establezca CharacterSet en CharacterSetSupport en el valor de cadena del conjunto de caracteres. (Los posibles valores para CharacterSet son los siguientes). Puede hacer que AWS DMS modifique los caracteres de destino no válidos de una de las siguientes formas:

    • Especificar un único punto de código Unicode de sustitución para todos los caracteres de destino no válidos, independientemente de su punto de código actual. Para configurar este punto de código de sustitución, CharacterSetSupport establezca ReplaceWithCharacterCodePoint en el valor especificado.

    • Configurar la eliminación de todos los caracteres de destino no válidos estableciendo ReplaceWithCharacterCodePoint en cero (0).

    Por ejemplo, suponga que especifica los siguientes valores para CharacterSetSupport.

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

    En este ejemplo, AWS DMS elimina los caracteres encontrados en el destino que no son válidos en el conjunto de caracteres "UTF16_PlatformEndian". Por tanto, todos los caracteres especificados con el valor hexadecimal 2FB6 se eliminan. Este valor no es válido porque se trata de un punto de código Unicode de 4 bytes y los conjuntos de caracteres UTF16 solo aceptan caracteres con puntos de código de 2 bytes.

nota

La tarea de replicación completa todas las sustituciones de caracteres especificadas antes de iniciar las transformaciones globales o de nivel de tabla que especifique a través del mapeo de tablas. Para obtener más información sobre la asignación de tablas, consulte Uso del mapeo de tablas para especificar la configuración de tareas.

La sustitución de caracteres no admite los tipos de datos LOB. Esto incluye cualquier tipo de datos que DMS considere un tipo de datos LOB. Por ejemplo, el tipo de datos Extended de Oracle se considera un LOB. Para obtener más información acerca de las tipos de datos de origen, consulte Tipos de datos de origen para Oracle a continuación:

Los valores que AWS DMS admite para CharacterSet aparecen en la tabla siguiente.

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