以编程方式将SQL任务连接到数据流任务(c#)

时间:2013-07-04 14:13:37

标签: c# ssis

如何以编程方式将SQL任务连接到数据流任务?

SQL任务:

Executable exec = package.Executables.Add("STOCK:SQLTask");
TaskHost thMainPipe = (TaskHost)exec;

...

数据流:

MainPipe mp = ((TaskHost)stagingPackage.Executables.Add("DTS.Pipeline")).InnerObject as MainPipe;

...

尝试使用PrecedenceConstraints.Add,得到COM错误。

PrecedenceConstraints.Add(derivedTask,(Executable) mp);
  

无法将类型为“System .__ ComObject”的COM对象强制转换为类类型   'Microsoft.SqlServer.Dts.Runtime.Executable'。

1 个答案:

答案 0 :(得分:1)

使用STOCK:PipelineTask代替DTS.Pipeline。 Executables.Add()方法期望TaskInfo对象的CLSID,PROGID,STOCK名字对象或CreationName属性。 STOCK绰号主要用于。 DTS.Pipeline可能没有被识别为任何一个。如果不使用Stock Moniker,请指定与STOCK:PipelineTask等效的CLSID或PROGID。