使用Parent包中的不同输入执行SSIS子包

时间:2013-09-26 10:01:49

标签: ssis sql-server-data-tools

这可能是一个问题,解决方案已经存在,但我一直无法得到它。 我正在使用VS 2012,Sql Server 2012 BI。所以,这是场景。

我有一个名为P1.dtsx的包。此包包含脚本组件作为源。 我有另一个包P2.dtsx,它已经有很多组件。

现在,我想要做的是在P2的两个地方从P2调用P1。当我从P2中的两个地方调用它时,我想在P1中设置一个具有不同值的用户变量。

因此,我在P1中创建了一个名为T(String类型和范围为P1)的变量,并在P1的脚本组件中使用它。现在,我必须从P2设置此变量两次。所以,我去了P2并制作了两个用户变量T1和T2(String类型和范围都是P2)。接下来我转到P1并打开了Package Configuration向导并配置了Parent Package变量T1和T2来设置变量值T. 到目前为止一切都很好。

这是我无法做到的一点点 - 在P2的两个地方我使用执行包任务来调用P1,我是UNABLE,SIMPLY UNABLE来设置参数绑定。我无法说这次呼叫使用T1而下一次呼叫使用T2。 为什么我不能这样做?因为参数绑定编辑器中的“添加”按钮被禁用(图片如下)。

Add button disabled

我确信我错过了一些非常微不足道的事情。

有任何想法或建议吗?

期待感谢

1 个答案:

答案 0 :(得分:2)

您需要将参数添加到P2包中。在设计窗格中:

Params

在此处添加参数。然后在P2包中转到变量并将变量的值设置为参数的值。