使用不同名称的 SSIS 加载 Excel 个文件。获取错误 0x80004005

Loading Excel files with SSIS with different names. Getting error 0x80004005

我有一个 SSIS 包,它查看 excel 个文件,每个文件的末尾都有一个日期。我看了很多视频,但找不到答案。如果我移动与连接管理器一起使用的“原始文件”(请参阅​​ link 的屏幕截图),则程序包无法完成并出现“错误:ForEach 枚举器的 GetEnumerator 方法失败,错误为 0x80004005”“未指定的错误” . 当 ForEach 枚举器无法枚举时,就会出现这种情况。”如果我随后将文件放回正确的位置,它会再次工作。我的问题是我必须永远把文件放在那里吗?有没有办法做到这一点,它不寻找该文件存在?

您正在使用静态文件名。如果您可以使用静态文件名,那么您将不得不让一些其他进程定期更新该文件。但是,如果您希望进程在多个文件上循环时更加动态,那么在 ForEachLoop 枚举器中,您只需设置以下设置:

注意:使用*.xlsx是获取任何扩展名为xlsx的文件的方法。

然后将文件路径映射到变量:

然后将连接管理器的 ConnectionString 属性 设置为文件路径: