2016-11-04 161 views
1

我想創建一個SSIS包,它將有兩個數據流任務。如果今天的日期是本月的開始日期,它應該執行一個數據流任務(實際上有一個月末報告),否則它應該執行另一個數據流任務(這是一個每週報告)。任何人都可以讓我知道如何獲得這一個。根據If else條件選擇性地在SSIS中執行數據流任務

謝謝,

+0

到目前爲止你做了什麼?我建議你創建一個變量來保存每月的一天(一個整數),然後放在一個表達式任務https://msdn.microsoft.com/en-us/library/hh213137.aspx上,然後用一個表達式獲取當月的一天。這是一個開始。你可以使用谷歌所有這一切 –

回答

0

1)創建數據類型的布爾在封裝範圍的變量。在這個例子中我命名爲我的startDate

enter image description here

2)創建兩個先例約束的腳本任務。一個人在月初時進入數據流任務,另一個人在虛假時進入數據流任務。 enter image description here

3)編輯腳本任務,並添加startDate可變進ReadWriteVariables。 enter image description here

4)點擊「編輯腳本」,並插入下面的進入方法(你可以取消的消息框,以確保它正常工作,當你執行包),不要忘記保存:

DateTime value = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1); 

     if (DateTime.Today == value) 
     { 
      Dts.Variables["User::startDate"].Value = bool.Parse("True"); 
     } 
      Dts.Variables["User::startDate"].Value = bool.Parse("False"); 

     //MessageBox.Show(Dts.Variables["User::startDate"].Value.ToString()); 

5)之後,所有你需要做的就是編輯優先約束將每個DFT。 enter image description here enter image description here