2015-09-07 90 views
3

如何使用执行包任务动态地将值传递给子包变量?ssis中的参数绑定

我需要从另一个包(父)同时调用一个包(子)。在每次调用中,我需要将不同的值传递给子包变量

我已经尝试在执行包任务中使用参数绑定,但是在某些地方我犯了错误。它没有像预期那样传递价值。仅通过空 enter image description here

如:

一个父母和一个孩子。运行同一个孩子的3个不同的任务。我想通过从母公司3个不同的变量,一个孩子可变

在此先感谢

+0

您是否检查过父包中的变量是否包含期望值? – JodyT

+0

我不知道我在这里做了什么好事。您是否可以不更新平面文件中父包的参数值,并让子包从他后面开始的相同文件中提取这些值? – KrazzyNefarious

+0

我同意@BhupeshC。如果通过数据库表中的控制记录更新,则更容易 – MiguelH

回答

3

从父包传递一个变量的子包,您可以使用包配置

在您的父包中,创建您想要传递值的变量。我们称之为varParent。现在,使用执行包任务来引用子包。你不需要任何参数绑定。

在你子包,创建将父包接收值的变量 - varChild。右键单击控制流中的空白区域,然后选择属性。在杂项下滚动到配置。然后点击三个点的按钮。

选中“启用软件包配置”并单击添加。打包配置向导打开。点击下一步。 在配置类型中,选择父包变量。在父变量字段中,输入varParent。点击下一步。

在树视图中的文件夹结构显示,展开Variables,varChild,属性,然后选择价值。点击下一步。

enter image description here

给你配置一个名称,然后单击Finish(完成)。关闭程序包配置管理器。

现在,你varChild将从varParent得到的值。