如何以编程方式将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'。
答案 0 :(得分:1)
使用STOCK:PipelineTask代替DTS.Pipeline。 Executables.Add()方法期望TaskInfo对象的CLSID,PROGID,STOCK名字对象或CreationName属性。 STOCK绰号主要用于。 DTS.Pipeline可能没有被识别为任何一个。如果不使用Stock Moniker,请指定与STOCK:PipelineTask等效的CLSID或PROGID。