如何从ssis中的脚本任务调用数据流任务

时间:2017-02-09 11:27:13

标签: sql sql-server ssis msbi

我有两种文件(EXCEL和TXT)如果文件扩展名为EXCEL我必须为EXCEL调用数据流任务,如果是TXT我必须为TXT调用数据流任务

我如何从ssis脚本任务调用数据流任务

1 个答案:

答案 0 :(得分:3)

使用包作为具有类型字符串的范围创建变量。 在Inside Script Task中,用值填充该变量。

metronome

之后,使用基于该变量值的表达式约束来调用相应的数据流任务。

对于Excel DataFlow Task,优先级constarint将具有以下表达式

SELECT * FROM (
   SELECT * FROM `cars` WHERE `site` = '5' 
   ORDER BY `cost` DESC LIMIT 0 , 10
)t
ORDER BY `time`;

对于Text DataFlow Task,优先级constarint将具有以下表达式

//get file type and store in variable filetype 

if(filetype == "Excel")
  Dts.Variables["User::FileType"].Value = "Excel";

else if(filetype == "Txt")
  Dts.Variables["User::FileType"].Value = "Txt";

Expression and Precedence constraints用于控制程序包执行的流程。