我正在使用SSIS数据工具来创建遗留系统的数据提取。 我们的新系统需要将导入的文件拆分为5MB文件。
无论如何我可以将文件拆分成单独的文件吗? 我在想,因为数据已经在数据库中了,我可以做一个循环,或类似的东西,一次会选择一定数量的记录。
任何意见都赞赏!
答案 0 :(得分:3)
如果您的源是SQL,请对表键使用Row_Number函数为每行分配一个数字,例如
。Row_number() OVER (Order by Customer_Id) as RowNumber
然后将您的查询包装在CTE中或使其成为带有where子句的子查询,以便为您提供等于5MD文件的行数,例如
WHERE RowNumber >= 5000 and RowNumber <10000
您需要多次调用此源目标(使用不同的行开始和行结束值),因此最好
在控制流中设置3个参数,以迭代每组记录并将数据存储在单独的文件中。例如第一个循环将设置
RowStart = 0
RowEnd = 5000
FileName = MyFile_ [date] _0_to_4999