SSIS-将输出拆分为多个文件

时间:2012-12-19 05:27:05

标签: sql-server ssis

我正在使用SSIS数据工具来创建遗留系统的数据提取。 我们的新系统需要将导入的文件拆分为5MB文件。

无论如何我可以将文件拆分成单独的文件吗? 我在想,因为数据已经在数据库中了,我可以做一个循环,或类似的东西,一次会选择一定数量的记录。

任何意见都赞赏!

1 个答案:

答案 0 :(得分:3)

如果您的源是SQL,请对表键使用Row_Number函数为每行分配一个数字,例如

Row_number() OVER (Order by Customer_Id) as RowNumber

然后将您的查询包装在CTE中或使其成为带有where子句的子查询,以便为您提供等于5MD文件的行数,例如

WHERE RowNumber >= 5000 and RowNumber <10000 

您需要多次调用此源目标(使用不同的行开始和行结束值),因此最好

  • 查找控制流中的总记录数并设置TotalRows参数
  • 在控制流中创建循环
  • 在控制流中设置3个参数,以迭代每组记录并将数据存储在单独的文件中。例如第一个循环将设置

    RowStart = 0

    RowEnd = 5000

    FileName = MyFile_ [date] _0_to_4999