Sql server 2008 根据If-else条件在SSI中选择性地执行数据流任务
我想创建一个SSIS包,它将有两个数据流任务。如果今天的日期是当月的开始日期,则它应该执行一个数据流任务(实际上有一个月末报告),否则它应该执行另一个数据流任务(一个周报)。谁能告诉我如何达到这个目标 谢谢,1。)在包范围内创建一个数据类型为布尔的变量。在本例中,我将我的命名为Sql server 2008 根据If-else条件在SSI中选择性地执行数据流任务,sql-server-2008,if-statement,ssis,dataflowtask,Sql Server 2008,If Statement,Ssis,Dataflowtask,我想创建一个SSIS包,它将有两个数据流任务。如果今天的日期是当月的开始日期,则它应该执行一个数据流任务(实际上有一个月末报告),否则它应该执行另一个数据流任务(一个周报)。谁能告诉我如何达到这个目标 谢谢,1。)在包范围内创建一个数据类型为布尔的变量。在本例中,我将我的命名为startDate 2。)创建具有两个先决条件的脚本任务。一个在月初执行数据流任务,另一个在月初执行错误任务。 3。)编辑脚本任务并将startDate变量添加到ReadWriteVariables中。 4。)单击“
startDate
2。)创建具有两个先决条件的脚本任务。一个在月初执行数据流任务,另一个在月初执行错误任务。
3。)编辑脚本任务并将startDate
变量添加到ReadWriteVariables中。
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的优先约束。
到目前为止你做了什么?我建议您创建一个变量来保存月份的日期(一个整数),然后删除一个表达式任务,在这个任务中,使用一个表达式来获取月份的日期。这是一个开始。你可以通过谷歌解决所有这些问题