平面文件连接管理器问题

时间:2011-06-08 06:07:25

标签: ssis

我已经构建了一个SSIS包来从平面文件中的数据更新Oracle数据库。该文件包含4列,其中一部分如下所示:

Airwaybill No Shipper's Ref。 No. PU日期快递名称
43737729582 30035024201100 13/05/2011 bluedart
43737729571 30035065201100 13/05/2011 bluedart
43737729560 30035029201100 13/05/2011 bluedart
43737729416 30033277201100 13/05/2011 bluedart
43737729420 30033297201100 13/05/2011 bluedart

这些平面文件是Tab Delimited.My包迭代它们并逐个执行。

我的问题是,我需要在平面文件连接管理器中的每个文件的列信息上按重置列,而不是仅执行该文件,否则下一行数据会被最后一列填充并产生错误< / p>

请帮助我,因为如果这样我无法自动化我的包裹。

所有这些文本文件都是通过将它们保存为文本分隔文件从Excel工作表生成的。

1 个答案:

答案 0 :(得分:0)

我建议执行以下步骤来验证平面文件中的数据是否确实以制表符分隔,并以您在SSIS中配置的行分隔符结束。

  1. 在您的计算机上安装软件Notepad++Notepad++ download url

  2. 将Excel文件另存为制表符分隔文件后,在Notepad++中打开制表符分隔文件。

  3. 在Notepad ++中,选择菜单View - &gt; Show Symbol - &gt; Show All Characters,如屏幕截图# 1

  4. 所示
  5. Orange arrows代表 tabs 。如果您注意到橙色的点/句点( . ),则表示 spaces 。黑色背景中的 CR 文字代表Carriage Return。黑色背景中的 LF 文字代表Line Feed

  6. 确保文件外观如屏幕截图# 2 所示。

  7. 如果文件看起来正确,那么在SSIS包的文件连接管理器中,确保行分隔符为 {CR}{LF} ,列分隔符为 {{1 }} 即可。请参阅屏幕截图# 3

  8. 希望有所帮助。

    屏幕截图#1:

    1

    屏幕截图#2:

    2

    屏幕截图#3:

    3