SSIS获取丢失文件的列表



我每月都会收到来自不同公司的文件提交,这些文件通过SSIS作业加载到SQL Server中。SSIS作业运行时,我希望获得未提交文件的公司的列表。这些文件的末尾会附加日期,所以我认为它需要在名称列表中进行某种通配符搜索。如果我期待:

AlphaCO_文件_yyyymmdd

BetaCO_File_yyyymmdd

DeltaCO_文件_yyyymmdd

ZetaCO_File_yyyymmdd

并且来自ZetacO的文件丢失了。我想把ZetacO写到一个表中,或者把它保存在一个可以在电子邮件任务中使用的变量中。我正在使用Visual Studio 2019和SQL Server 2019。我有SSIS的任务工厂加载项。

注意,这个答案使用了需要针对特定值进行调优的psuedo代码

我的猜测是,您已经设置了foreach循环,将文件名读取到参数中。

您需要的是SQL Server中的一个表来进行比较。

CompanyName, FileSubmitted (bit)
AlphaCO
BetaCo
DeltaCo
ZetaCO

第一步是SQL命令:udpate table set FileSubmitted = 0

然后在每个for循环中都有一个基于文件名更新该表的路径:

使用令牌或使用C#任务。c#将是company = fileName.Split('_')[0];

然后更新表格:

update table 
set FileSubmitted = 1 
where CompanyName = company 

现在,您可以使用该表发送电子邮件了。

最新更新