Informatica:平面文件读取问题

时间:2017-02-15 11:24:59

标签: informatica informatica-powercenter

我需要从平面文件中读取数据,其中包含自由文本数据(即每列的列长度为32000,文件中有8-9列)。由于列具有自由文本数据,因此用户可以在数据中添加任何可能违反分隔符的值,以防我在信息映射中定义分隔符。此外,由于源级别的字段长度很大,因此使用固定宽度属性并不容易。

可以请有人在这里帮助我,有没有办法可以在固定宽度属性中定义分隔符???

数据示例:

column1的|自由文本字段1 |自由文本field2 | 约翰|你几岁?你住在哪里?|性别男性|女性,工作:是|否

3 个答案:

答案 0 :(得分:0)

在您提供的示例中,您首先将管道作为分隔符,然后有人决定使用管道来指定备用值...这使您可以选择开发复杂的代码变通方法以适应这些异常(例如,标记)在将平面文件读入信息之前已知的例外情况,然后在映射中对其进行无记名处理)或从设计空间获得协议的政治任务,以避免使用管道来表示替代选择(可以使用/替代)并进行验证freetext输入字段以禁止管道字符(也对现有模板进行一些修改以防止输入管道字符)

答案 1 :(得分:0)

一种方法是使用复杂的多字符分隔符。我不确定你是否可以在源头强制执行此操作。

答案 2 :(得分:0)

你有9列,每列大小是32000,你的固定文件定义应该是1-32000 | 32001-64002 | ...... |,加载平面文件后你应该截断右边或左边的空格。

固定平面文件将具有固定的列长度,您不能以固定格式指定任何分隔符,如果这样做,则它不再是固定的文件格式。

由于 MKrishnan