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