【发布时间】:2014-11-01 00:43:21
【问题描述】:
我正在使用 Visual Studio 2012。我创建了一个使用序列容器的 SSIS 解决方案。
SSIS 包的重点是这个。每个第 3 和第 5 个工作日我需要创建文件夹并将文件复制到其中。在第 3 个工作日,文件将复制到相应的第 3 个工作日文件夹中。第 5 个工作日也是如此。这些文件夹和文件位于名为 yyyymm 的父文件夹中,即 201411。两者的文件夹结构有点奇怪,但这超出了我的控制范围,不是问题。
我不知道如何计算工作日,所以我希望设计 SSIS 包以便单个 SSIS 包可以同时完成这两者的方法是使用成功/失败切换优先约束。
我设计了流程,以便在第一次运行包时创建 Day3 文件夹,然后复制文件。第二次运行 day3 包时会注意到 Day3 文件夹已创建并失败。这种失败是有意的。我希望包的失败影响父序列容器,并使序列容器完全失败。失败后,我希望包继续失败约束,创建 Day5 文件夹并复制这些文件。
问题是任务按预期失败,但这会完全停止程序包。流程不会沿着失效约束继续并执行 Day5 功能。我已经尝试调整包、序列容器中的属性,并调整传播系统变量,正如我通过互联网搜索所看到的那样,但我无法让预期的流程正常工作。
可能有更好的方法来完成整个过程,我愿意接受建议,但这个查询的真正目的是弄清楚如何让序列容器作为一个整体失败并让包继续执行Day5 函数。
第三个工作日
第 5 个工作日
SSIS 包
期望的结果。如果子包在其中失败,则序列容器将失败。
回应下面的评论。我试图设置一个布尔约束,但这也不起作用。不知道我这样做是否正确。
【问题讨论】: