1

我有一个问题需要帮助解决。我工作的业务是使用 Informatica 云在 AWS 和其他服务中执行大量 ETL。

字段分隔符为“~|”的企业给了我们一个平面文件 目前,据我所知,informatica 仅接受单个字符分隔符。

只有一个字符。 我如何使它成为多个?

有谁知道如何克服这一点?

4

1 回答 1

1

Informatica 无法读取复合分隔符

首先,您可以将每一行作为一个长字符串输入到表达式转换中。在这种情况下,分隔符应设置为 \037 ,至少自 1982 年以来我还没有看到此字符(ASCII 单位分隔符)在使用中。然后在 EXP 中重复调用 InStr() 来识别那些双精度的位置管道字符并使用 SubStr() 将每一行拆分为字段。

其次(映射更容易,会话工作更多)您可以将文件输入一些实用程序,该实用程序将这些双管道字符替换为字符 ASCII 31(上面提到的单元分隔符);必须设置会话,以便它读取此实用程序的输出(输入文件类型 = 命令而不是文件)。然后源定义应该包含 \037 作为字段分隔符,而不是任何管道字符左右。

于 2017-03-24T15:20:22.097 回答