在子包中使用变量和参数的值

本过程介绍如何创建使用父变量配置类型的包配置。 借助此配置类型,从父包运行的子包可以访问父包中的变量。

注意注意

也可以通过配置执行包任务,将父包变量或参数(或项目参数)映射到子包参数,从而将值传递给子包。 有关详细信息,请参阅执行包任务

在子包中创建包配置之前,不必在父包中创建变量。 可以随时在父包中添加变量,但必须在包配置中使用准确的父变量名称。 但是,在配置可以更新的子包中必须有现成的变量,然后才能创建父变量配置。 有关添加和配置变量的详细信息,请参阅添加、删除、更改包中用户定义变量的作用域

父包中用于父变量配置的变量的作用域可以设置为“执行包”任务、包含任务的容器或包。 如果在包中定义了多个同名的变量,则使用在作用域中最接近“执行包”任务的变量。 最接近“执行包”任务的作用域是该任务本身。

向父包中添加变量

  1. 在 SQL Server Data Tools (SSDT) 中,打开包含目标包的 Integration Services 项目,所谓目标包是指您想将要传递给子包的变量添加到其中的包。

  2. 在解决方案资源管理器中,双击该包将其打开。

  3. 在 SSIS 设计器中,若要定义变量的作用域,请执行下列操作之一:

    • 若要设置包的范围,请单击**“控制流”**选项卡设计图面上的任何位置。

    • 若要将作用域设置为“执行包”任务的父容器,请单击该容器。

    • 若要将作用域设置为“执行包”任务,请单击该任务。

  4. 添加并配置变量。

    注意注意

    选择与变量将要存储的数据兼容的数据类型。

  5. 若要保存更新后的包,请单击**“文件”菜单上的“保存选定项”**。

向子包中添加变量

  1. 在 SQL Server Data Tools (SSDT) 中,有一个 Integration Services 项目应当包含您要向其中添加父变量配置的包,请将该项目打开。

  2. 在解决方案资源管理器中,双击该包将其打开。

  3. 在 SSIS 设计器中,若要设置包的作用域,请在**“控制流”**选项卡的设计图面上单击任何位置。

  4. 添加并配置变量。

    注意注意

    选择与变量将要存储的数据兼容的数据类型。

  5. 若要保存更新后的包,请单击**“文件”菜单上的“保存选定项”**。

向子包添加父包配置

  1. 如果尚未打开它,请在 SQL Server Data Tools (SSDT) 中打开子包。

  2. 在**“控制流”**选项卡的设计图面上单击任何位置。

  3. SSIS 菜单上,单击**“包配置”**。

  4. 在**“包配置组织程序”对话框中,选择“启用包配置”,再单击“添加”**。

  5. 在包配置向导的欢迎页中,单击**“下一步”**。

  6. 在“选择配置类型”页上的**“配置类型”列表中,选择“父包变量”**,并执行下列操作之一:

    • 选择**“直接指定配置设置”,然后在“父变量”**框中提供要在配置中使用的父包中的变量的名称。

      重要说明重要提示

      变量名称区分大小写。

    • 选择**“配置位置存储在一个环境变量中”,然后在“环境变量列表”**中选择包含变量名称的环境变量。

  7. 单击**“下一步”**。

  8. 在“选择目标属性”页上,展开**“变量”节点,并展开要配置的变量的“属性”**节点,然后单击要由配置设置的属性。

  9. 单击**“下一步”**。

  10. (可选)在“完成向导”页上,修改配置的默认名称,并检查配置信息。

  11. 单击**“完成”以完成向导并返回“包配置组织程序”**对话框。

  12. 在**“包配置组织程序”对话框中,“配置”**框将列出新配置。

  13. 单击**“关闭”**。

请参阅

任务

创建包配置

在包中使用变量

概念

包配置

Integration Services (SSIS) 变量