我有一個關於如何在SSIS中設置優先約束的問題。級聯優先約束SSIS
我在包下列流程:
- 執行SQL任務返回以這種格式「1111」,其然後被存儲在被稱爲「數據」可變 一個字符串值
- 這一切的關鍵在於控制執行哪個腳本任務 例如,如果值爲「1111」,則所有4個腳本都可以運行。 如果值是「1011」,那麼腳本1,3,4就會運行...你得到的圖片
- 在所有情況下,腳本DEPEND都是前一個腳本。
- 約束用以下表達式進行評估:例如,對於腳本2,SUBSTRING(@ [User :: data],2,1)==「1」。
問題: 如果其中一個腳本不運行,那麼下一個腳本不會運行(因爲約束永遠不會被評估)。例如,對於data =「1011」,腳本3和腳本4永遠不會運行,因爲編號2從未運行過......
您是否知道更好的方法來完成此項工作?
在BIDS中使用SQL Server 2008
這取決於您可以擁有多少個不同的值,但是您可以在'SQL任務'後面用'條件分割'來完成。如果這是不可能的,編輯你的腳本,當值1011到達腳本2時,它只是將它傳遞給腳本3而不進行任何轉換。 – DenStudent
@DenStudent條件拆分是一個「數據流」任務元素,而不是「控制流」。你有什麼想法可以達到最終結果嗎?我只有這4個腳本。 – dhuesca