我正在使用SSIS Foreach循环容器在网络共享上迭代具有特定模式的文件。
我遇到了Loop Container的一种无法再现的故障:
有时循环执行两次。处理完所有文件后,它将从第一个文件开始。
有没有人遇到过类似的错误? 也许不是直接使用SSIS而是使用某种技术访问Windows共享上的文件? 这个错误可能与某些网络问题有关吗?
感谢。
答案 0 :(得分:1)
我发现使用Excel文件并使用* .xlsx通配符驱动foreach时就是这种情况。
一旦我将日志记录到位,我注意到当Excel打开时,它会生成一个前缀为〜$的excel文件。这是由foreach循环拾取的。
所以我使用类似于http://geekswithblogs.net/Compudicted/archive/2012/01/11/the-ssis-expression-wayndashskipping-an-unwanted-file.aspx的技巧来排除文件名中带有〜$的文件。
答案 1 :(得分:0)
您收到了什么错误消息(SSIS日志/事件报告消息)?
与@Siva类似,我没有遇到过这个问题,但您可以使用一些想法来尝试和诊断。你可能已经在做了其中的一些,我只是为了完整性从我的思考过程中写下来......
答案 2 :(得分:0)
没有任何帮助 - 我实现了以下解决方法:跟踪所有文件的foreach迭代器中的脚本任务。如果文件已被加载,则会触发警告,并且不会再次处理该文件。无论如何,似乎是一些网络相关的问题...