Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2012 SSIS序列容器不会失败_Visual Studio 2012_Ssis - Fatal编程技术网

Visual studio 2012 SSIS序列容器不会失败

Visual studio 2012 SSIS序列容器不会失败,visual-studio-2012,ssis,Visual Studio 2012,Ssis,我正在使用Visual Studio 2012。我创建了一个利用序列容器的SSIS解决方案 SSIS包的要点是。每3个和5个工作日,我需要创建文件夹并将文件复制到其中。在第三个工作日,文件将复制到相应的第三个工作日文件夹中。同样在第五个工作日。这些文件夹和文件位于名为yyyymm的父文件夹中,即201411。两者的文件夹结构都有点奇怪,但这超出了我的控制范围,不是问题所在 我不知道如何计算工作日数,因此我希望设计SSIS包的方法是使用成功/失败切换优先约束,这样单个SSIS包就可以同时完成这两个

我正在使用Visual Studio 2012。我创建了一个利用序列容器的SSIS解决方案

SSIS包的要点是。每3个和5个工作日,我需要创建文件夹并将文件复制到其中。在第三个工作日,文件将复制到相应的第三个工作日文件夹中。同样在第五个工作日。这些文件夹和文件位于名为yyyymm的父文件夹中,即201411。两者的文件夹结构都有点奇怪,但这超出了我的控制范围,不是问题所在

我不知道如何计算工作日数,因此我希望设计SSIS包的方法是使用成功/失败切换优先约束,这样单个SSIS包就可以同时完成这两个任务

我设计了这个流程,以便在第一次运行包时创建Day3文件夹,然后复制文件。第二次运行day3程序包时,会注意到day3文件夹已创建并失败。这种失败是有意的。我希望包的失败影响父序列容器,并且序列容器完全失败。失败后,我希望包继续沿着失败约束,创建Day5文件夹并复制这些文件

问题是任务按预期失败,但这会完全停止包。该流不会沿着故障约束继续,并执行第5天功能。我已经尝试过调整包、序列容器中的属性,也尝试过调整propagate系统变量,正如我通过internet搜索看到的那样,但我无法使预期的流正常工作

可能有更好的方法来完成整个过程,我愿意接受建议,但此查询的真正目的是找出如何使序列容器作为一个整体失败,并使包继续执行第5天的功能

第三个工作日

第五个工作日

SSIS包

期望的结果。如果子包在序列容器中失败,则序列容器将失败。

回应下面的评论。我试图设置一个布尔约束,但这也不起作用。不确定我是否做对了。

另一种方法是在包级别设置一个布尔变量,一旦第3天失败,就会将其设置为False。在故障优先约束上,您将检查此变量的值。如果变量的值为FALSE(或true),则可以继续使用Day5容器,否则忽略它


我想到的另一件事是,在第3天容器之后,您能否切换和/或优先级约束。只是想检查一下,看看这是否会改变行为。

我尝试向约束添加布尔逻辑并切换和/或,但仍然无法使序列容器失败。添加一个脚本任务(在第3天容器之后)并显式将布尔变量设为False。我认为,这两种方法之间的优先约束应该是失败。我会进一步调查此事,过些时候再给你回复。同时,请尝试这个解决方案。如果你可以添加一个图像,这将是有益的。我有点搞不清楚什么会去哪里。