Informatica Powercenter 9.1 中的特殊字符处理不正确
Incorrect Special Character Handling in Informatica Powercenter 9.1
我目前正在我的组织中开展一个项目,我们正在将应用程序中的 Informatica Powercenter 从 v8.1 迁移到 v9.1。
Informatica PC 正在从数据文件加载数据,但无法保留少数输入数据文件中存在的某些特殊字符。
在 v8.1 中正确加载数据。
尝试如下更改 Informatica 中的字符集设置 -
CodePage movement = Unicode
NLS_LANG = AMERICAN_AMERICA.UTF8 to ENGLISH_UNITEDKINGDOM.UTF8
"DataMovementMode" = Unicode
进行上述设置后,我在 Informatica 日志中收到以下错误:
READER_1_2_1> FR_3015 Warning! Row [2258], field [exDestination]: Data [TO] was truncated.
READER_1_2_1> FR_3015 Warning! Row [2265], field [exDestination]: Data [IOMR] was truncated.
READER_1_2_1> FR_3015 Warning! Row [2265], field [parentOID]: Data [O-MS1109ZTRD00:esm4:iomr-2_20040510_0_0] was truncated.
READER_1_2_1> FR_3015 Warning! Row [2268], field [exDestination]: Data [IOMR] was truncated.
数据中发送的特殊字符未正确处理 -
Ø
Ù
Ɨ
¿
Á
有人可以指导如何解决这个问题吗? Informatica 端还需要更改哪些内容。
是否需要在数据库中设置任何会话参数?
除了将 ODBC 和关系连接配置为使用 Unicode
之外,还要在 Unicode 模式下将集成服务 (IS) 设置为 运行 以获得最佳结果
Unicode 和 ASCII 的详细信息
a) Unicode - IS 允许每个字符有 2 个字节,并为每个非 ascii 字符(例如 Japanese/chinese 个字符)使用额外的字节
b) ASCII - IS 将所有数据保存在一个字节中
确保变量的大小足以容纳数据。有时,当大小不足以容纳传入数据时,会收到提到的警告。
我在另一个关于特殊字符的帖子中发布了这个。请检查这是否有任何帮助。
- 从设计器中的源代码开始。您能否在源限定符预览中正确查看数据?如果不是,您可能需要将 ff 源定义编码设置为 UTF-8.
- 集成服务应 运行 Unicode 模式而不是 ASCII 模式。您可以从管理控制台的集成服务属性中检查这一点。
目标应该是 UTF-8 编码。
- 检查工作流管理器中的关系连接(如果目标是数据库)编码以确保它是 UTF-8
- 如果问题仍然存在,请将输出写入 UTF-8 平面文件并检查数据是否正确加载。如果是,那么问题出在写入数据库上。
- 检查数据库设置,如 NLS_LANG、NLS_CHARACTERSET(对于 oracle)等
我目前正在我的组织中开展一个项目,我们正在将应用程序中的 Informatica Powercenter 从 v8.1 迁移到 v9.1。
Informatica PC 正在从数据文件加载数据,但无法保留少数输入数据文件中存在的某些特殊字符。
在 v8.1 中正确加载数据。
尝试如下更改 Informatica 中的字符集设置 -
CodePage movement = Unicode
NLS_LANG = AMERICAN_AMERICA.UTF8 to ENGLISH_UNITEDKINGDOM.UTF8
"DataMovementMode" = Unicode
进行上述设置后,我在 Informatica 日志中收到以下错误:
READER_1_2_1> FR_3015 Warning! Row [2258], field [exDestination]: Data [TO] was truncated.
READER_1_2_1> FR_3015 Warning! Row [2265], field [exDestination]: Data [IOMR] was truncated.
READER_1_2_1> FR_3015 Warning! Row [2265], field [parentOID]: Data [O-MS1109ZTRD00:esm4:iomr-2_20040510_0_0] was truncated.
READER_1_2_1> FR_3015 Warning! Row [2268], field [exDestination]: Data [IOMR] was truncated.
数据中发送的特殊字符未正确处理 -
Ø
Ù
Ɨ
¿
Á
有人可以指导如何解决这个问题吗? Informatica 端还需要更改哪些内容。 是否需要在数据库中设置任何会话参数?
除了将 ODBC 和关系连接配置为使用 Unicode
之外,还要在 Unicode 模式下将集成服务 (IS) 设置为 运行 以获得最佳结果Unicode 和 ASCII 的详细信息
a) Unicode - IS 允许每个字符有 2 个字节,并为每个非 ascii 字符(例如 Japanese/chinese 个字符)使用额外的字节
b) ASCII - IS 将所有数据保存在一个字节中
确保变量的大小足以容纳数据。有时,当大小不足以容纳传入数据时,会收到提到的警告。
我在另一个关于特殊字符的帖子中发布了这个。请检查这是否有任何帮助。
- 从设计器中的源代码开始。您能否在源限定符预览中正确查看数据?如果不是,您可能需要将 ff 源定义编码设置为 UTF-8.
- 集成服务应 运行 Unicode 模式而不是 ASCII 模式。您可以从管理控制台的集成服务属性中检查这一点。 目标应该是 UTF-8 编码。
- 检查工作流管理器中的关系连接(如果目标是数据库)编码以确保它是 UTF-8
- 如果问题仍然存在,请将输出写入 UTF-8 平面文件并检查数据是否正确加载。如果是,那么问题出在写入数据库上。
- 检查数据库设置,如 NLS_LANG、NLS_CHARACTERSET(对于 oracle)等