通过 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);
}
此答案是从 MS 论坛复制的。现在,谷歌是你的朋友。
您有四种选择:
-
使用父子变量配置
-
在使用执行包任务运行时,将值放在父包中的变量中,可以从子包引用该变量。(http://agilebi.com/jwelch/2009/10/03/passing-an-object-from-a-parent-package-to-a-child)
完全接管从 C# 脚本任务中执行包的子包的执行。
使用类似于任务工厂高级执行包任务的内容。(完全披露:我为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