问题描述
我有一个 SSIS 包,可以查看每个文件末尾带有日期的 excel 文件。我看了很多视频,但找不到答案。如果我移动与连接管理器一起使用的“原始文件”(请参阅屏幕截图的链接),则包无法完成并显示“错误:ForEach 枚举器的 GetEnumerator 方法失败,错误为 0x80004005“未指定错误”。这发生在ForEach 枚举器无法枚举。”如果我然后将文件放回正确的位置,它会再次工作。我的问题是我必须永远把文件放在那里吗?有没有办法做到这一点,它不寻找该文件是否存在?
解决方法
您正在使用静态文件名。如果您可以使用静态文件名,那么您将不得不让其他一些进程定期更新该文件。但是,如果您希望在进程循环多个文件时更加动态,那么在 ForEachLoop Enumerator 中,您只需设置以下设置:
注意:使用 *.xlsx
是获取扩展名为 xlsx
的任何文件的方法。
然后将文件路径映射到变量:
然后将连接管理器的 ConnectionString 属性设置为文件路径: