【问题标题】:SSIS 2014 - Flat File Destination with Different Number of ColumnsSSIS 2014 - 具有不同列数的平面文件目标
【发布时间】:2016-11-14 16:04:19
【问题描述】:

我有一个 SSIS 包 (SQL 2014),可将表中的数据加载到平面文件中。该文件有 5 列,但是我的数据集中有一行被系统用于重复检查,并且它需要有 3 列,而不是 5 列。

How my file looks like now:
ID|Desc|UDF1|UDF2|UDF3
DUPECHECK|SaysSomethingIrellevant|||
ID1|Desc1|||
ID2|Desc2|||

How I want my file to look:
ID|Desc|UDF1|UDF2|UDF3
DUPECHECK|SaysSomethingIrellevant|
ID1|Desc1|||
ID2|Desc2|||

您可以看到文件的第二行应如何具有与其余行不同的列数。我怎么能做到这一点?

【问题讨论】:

  • 我可能弄错了,但据我所知,这根本不可能!应该与表格的逻辑相同:表格的每一行具有相同数量的列。无论如何,如果您需要这种特定的结构,我建议您创建一个脚本组件作为目标并从那里编写平面文件。
  • 我希望有一个奇特的解决方法,我不需要使用脚本任务,但感谢您的输入。

标签: sql-server ssis sql-server-2012 ssis-2012 msbi


【解决方案1】:

你做不到。我这样做的唯一方法(我必须编写一个具有不同列数的标题行和页脚行的文件)是将所有内容(所有列)写入具有单列的行或写入三个不同的txt文件,然后使用 bat 文件合并这三个文件。

【讨论】:

  • 谢谢,我能够结合您的两个建议在 SSIS 中做到这一点。我制作了 3 个流(一个用于标题行,一个用于 DUPLICATE 行,一个用于其余条目),然后我将管道添加到派生列中,然后我使用 union all 组合成一列,即我的平面文件中唯一的列。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-15
  • 2011-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多