2

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

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

任何输入表示赞赏!

4

1 回答 1

4

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

Row_number() OVER (Order by Customer_Id) as RowNumber

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

WHERE RowNumber >= 5000 and RowNumber <10000 

您将需要多次调用此源目标(使用不同的 Row Start 和 Row End 值),因此最好

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

    行开始 = 0

    行尾 = 5000

    文件名 = MyFile_[日期]_0_to_4999

于 2012-12-19T09:56:32.637 回答