复制 MBCS 字符数据的注意事项

将源列映射到包含 MBCS 字符数据的目标列时,应该考虑下列问题:

  • 大多数数据库都将 NCHAR 和 NVARCHAR 作为 Unicode 实施,并且编码不可更改。
  • 虽然 CDC Replication 允许您指定编码, 但所有二进制数据类型(例如 BLOB)都没有缺省编码。
  • 确保要将数据发送至的目标列足够大,以便存储复制的字符数据。
  • InfoSphere CDC for DB2 UDB如果您覆盖 GRAPHIC、VARGRAPHIC 和 DBCLOB 列的编码,那么将不会复制数据。
  • 对于支持 XML 复制的 CDC Replication 产品,CDC Replication 只能将与 XML 兼容的数据复制到 XML 列类型。请参阅 XML 规范以了解一致性条件。
  • CDC Replication 将考虑映射并根据为数据配置的字符集应用数据。CDC Replication 将不验证字符集是否能够正确地插入列中。
  • 目标表必须使用正确的长度值。数据库使用字符长度语义和/或字节长度语义。
  • 缺省情况下,CDC Replication V6.5 及更高版本将在目标上执行编码转换,并可选择指定源。这种行为与前发行版的 CDC Replication 不同, 在前发行版中,始终在源上执行编码转换,而不允许您选择指定目标。编码转换是一项 CPU 密集型活动,您在确定编码转换的发生位置时,应该对此加以考虑。
  • CDC Replication 中使用 MBCS 功能之前, 您必须确保系统管理员为 MBCS 环境正确配置了操作系统、数据库以及所有用于输入数据的工具(例如终端)。否则,可能会产生意外的行为。
  • CDC Replication 中的 Java 类用户出口支持 MBCS 字符数据。所有字符数据都将转换成 Java String 对象。
  • 在 AIX® 操作系统上,CDC Replication Engine for Teradata 不支持 MBCS 字符数据。
  • 覆盖数据库缺省字符编码时,指定的编码必须是数据库本身支持的编码。
  • CDC Replication Engine for FlexRep 不支持覆盖字符编码。