通过 C# 脚本任务将变量传递给子项

本文关键字:变量 脚本 任务 通过 | 更新日期: 2024-10-31 01:00:44

我不想使用包配置将变量从父包传递到子包。我更愿意将变量从父包中的 C# 脚本任务传递给子级。这能做到吗?这是我希望做的伪代码 -

//code in script task of parent package
Main(){
Object parentObj = SSIS.ParentPackage.myObject;
String parentStr =  SSIS.ParentPackage.myString;
callChildPackage(parentObj, parentStr);
}

通过 C# 脚本任务将变量传递给子项

此答案是从 MS 论坛复制的。现在,谷歌是你的朋友。

您有四种选择:

  1. 使用父子变量配置

  2. 在使用执行包任务运行时,将值放在父包中的变量中,可以从子包引用该变量。(http://agilebi.com/jwelch/2009/10/03/passing-an-object-from-a-parent-package-to-a-child)

  3. 完全接管从
  4. C# 脚本任务中执行包的子包的执行。

  5. 使用类似于任务工厂高级执行包任务的内容。(完全披露:我为Pragmatic Works工作)

项目 3 可能最接近您想要的。您需要使用 Package.Execute 方法自行运行子包。这样做的好处是可以在执行包之前显式设置子包变量。

约翰·韦尔奇 | www.pragmaticworks.com | www.agilebi.com | ssisUnit.codeplex.com

链接 - http://social.msdn.microsoft.com/Forums/sqlserver/en-US/450ec296-71bb-4170-a71c-a4e3bf453bab/pass-variables-to-child-via-c-script-task-?forum=sqlintegrationservices#450ec296-71bb-4170-a71c-a4e3bf453bab