我环顾四周但似乎找不到解决问题的方法。我在SSIS中有一个控制流来导入文件。 (看起来新成员无法发布图像,因此您可以找到链接here。该模式会重复多个文件。)脚本任务检查文件是否存在并使用表达式和约束成功条件来选择下一步该怎么做。
如果文件1存在,则将其导入到某个位置(按预期),然后在该特定块完成时停止整个过程(而不是按预期)。它不会检查文件2是否存在。我无法弄清楚是什么阻止了它。我是否需要在导入文件块之后向箭头添加约束,或者在执行的包任务本身中是否存在我需要更改的设置以告知它返回到更高级别"包继续下一个文件存在检查?
答案 0 :(得分:1)
我明白了。正如SFrejofsky所提到的那样,有两个条件语句导致下一个“检查文件是否存在”块是不允许包继续的。
在我做了两处更改后,包按预期运行:
答案 1 :(得分:0)
我不得不假设您使用您在任务之间的链接上设置的约束和表达式来阻塞进程。如果有两个链接指向1个任务,则必须满足所有约束和表达式才能执行下一个任务。
由于存在条件逻辑,无论文件是否存在,都会让我相信这是你的问题。
从包之间的链接中取出条件逻辑,并处理子包中的包的流程。传递子包,该变量指示文件是否存在。您在子包中的第一步应该是验证该信息并采取相应的行动。
这样检查文件1是否存在并检查文件2是否存在之间的链接将始终处于就绪状态,然后检查文件2是否存在只会在文件1的文件导入成功时触发。
我无法代表您导入过程正在执行的操作,但我建议您使用日志记录功能,以便您可以强制子程序包返回成功并记录该文件可能发生的任何错误。这将允许进程继续流动,即使您尝试导入的许多文件之一存在问题。