微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用SSIS Foreach循环容器时,如何在特定日期后带通文件

如何解决使用SSIS Foreach循环容器时,如何在特定日期后带通文件

当前创建了一个SSIS程序包,该程序通过一个文件夹并根据文件名带回最新文件。我通过使用Foreach循环容器完成了此操作

在测试中,它工作正常,我使用了大约20个文件,所有文件都工作正常。但是,当尝试将其放入包含大约200多个文件的实时环境中时,由于较旧的文件略有更改,它就失败了,这在我第一次创建程序包时就不知道了

我实际上只需要从2020年1月3日开始才带通文件,但是不能从其位置中删除较旧的文件

有没有一种方法可以更改程序包以仅从该日期起重新带回文件?如果可以的话,我该怎么做?

提前欢呼

解决方法

您可以使用文件属性来获取最新文件以进行处理:

var directory = new DirectoryInfo("C:\\MyDirectory");
var myFile = directory.GetFiles()
             .OrderByDescending(f => f.LastWriteTime)
             .First();

您还可以在其中添加位置:

var myFile = directory.GetFiles()
             .Where(f=>f.LastWriteTime>=DateTime.Parse("1/3/2020"))
             .OrderByDescending(f => f.LastWriteTime)
             .First();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。