1

如何以编程方式将 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”。

4

1 回答 1

1

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

于 2013-07-04T15:05:42.817 回答