Ssis-2016

SSIS:使用 3 個約束,其中 2 個應該是 OR,一個應該是 AND

  • May 5, 2019

因此,我有一個 SSIS 流程,其中我在一個任務中處理三個約束,但其中兩個必須是 OR,一個必須是 AND。在虛擬碼中會是這樣的:

if ( (constraint-a OR constraint-b) AND constraint-c)

問題是,我們只能對所有先例設置 OR/AND:

優先約束編輯器:多個約束

是否有任何解決方案可以將這些約束中的一些進行分組?

這是我對這個問題的原始解決方案,顯然沒有我想像的那麼糟糕。唯一的問題是設計師畫布會變得非常擁擠。

我設法用一點點實現了所需的解決方案*,*這正是我想要的。但是我不禁覺得這樣做有點臟,所以我想知道是否有更好的方法。這是我所做的圖表:

流程圖

**注意:**重要的是要強調我需要在完成後Main Script B立即開始Main Script A

腳本任務 B1是需要復雜約束的任務。正如您在圖表中心看到的,我將失敗Main Script A和完成分組Script Task A2在一個空容器中。

這允許腳本任務A1並在失敗A2時被繞過,並在先前的腳本任務完成後執行。但也必須等待主腳本 B 完成。Main Script A``Script Task B1``Script Task B1

以下是使用這種便宜的雜物的結果:

當主腳本 A 成功時: 主腳本成功

當主腳本 A 失敗時: 主腳本 A 失敗

不過,我想知道這個解決方案是否有替代方案。

引用自:https://dba.stackexchange.com/questions/236690