2

我目前正在我的组织中开展一个项目,我们正在将应用程序中的 Informatica Powercenter 从 v8.1 迁移到 v9.1。

Informatica PC 正在从数据文件加载数据,但无法保留少数输入 dat 文件中存在的某些特殊字符。

数据在 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 端还需要更改哪些内容。是否需要在数据库中设置任何会话参数?

4

2 回答 2

0

除了将 ODBC 和关系连接配置为使用 Unicode 之外,还将您的集成服务 (IS) 设置为在 Unicode 模式下运行以获得最佳结果

Unicode 和 ASCII 的详细信息

a) Unicode - IS 允许每个字符使用 2 个字节,并为每个非 ascii 字符(例如日文/中文字符)使用额外的字节

b) ASCII - IS 将所有数据保存在一个字节中

确保变量的大小足以容纳数据。有时,当大小很小以容纳传入数据时,会收到提到的警告。

于 2016-05-11T07:21:03.913 回答
0

我在另一个关于特殊字符的帖子中发布了这个。请检查这是否有帮助。

  1. 从设计器中的源代码开始。您能否在源限定符预览中正确查看数据?如果没有,您可能希望将 ff 源定义编码设置为UTF-8
  2. 集成服务应该以 Unicode 模式而不是 ASCII 模式运行。您可以从 Admin Console 中的集成服务属性中进行检查。目标应该是UTF-8编码。
  3. 检查工作流管理器中的关系连接(如果目标是数据库)编码以确保它是UTF-8
  4. 如果问题仍然存在,请将输出写入UTF-8平面文件并检查数据是否正确加载。如果是,那么问题在于写入数据库。
  5. 检查数据库设置,如NLS_LANGNLS_CHARACTERSET(用于 oracle)等。
于 2016-05-17T18:40:38.840 回答