SSIS Foreach循环仅处理尚未处理的文件

时间:2015-07-17 17:12:18

标签: sql-server csv ssis etl dts

我正在开发一个SSIS 2012 DTS,它必须从csv到DB的ETL数据。

csv文件将每天提供,其发布日期将以文件名filename_YYMMDD.csv提供。

对于cource,它不能多次处理同一个文件,因此数据不会在DB上重复。问题是我在处理文件时无法删除或重命名文件。我必须处理尚未存档的文件,并将旧文件单独处理。

我正在考虑在处理文件时使用日志表来存储文件的日期。在FLC的开头,我查询DB以获取当前文件的日期。如果在日志表中找不到日期,则FLC将运行ETL。如果找到日期,FLC将跳到下一个文件。

有可能吗?我应该用脚本任务吗?如何从脚本任务向FLC循环发送continue命令?或者我可以使用执行SQL任务以某种方式执行此操作吗?

1 个答案:

答案 0 :(得分:1)

我使用日志表完成了我成功处理的所有文件。确保在处理csv文件后更新日志表的事务中执行此操作。您可能会发现在日志表中包含已处理的行数以及处理文件所需的时间非常方便。

相关问题