2016-11-04 137 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

相关问题