在本示例中,我们将演示如何创建或配置SSIS项目参数和包参数。我们还将向您展示SSIS项目参数和包参数之间的区别。
SSIS 项目参数与包参数
在SSIS中,参数有两种类型:项目参数和包参数。
- 项目参数类似于全局变量。您可以从该项目中的任何包访问它们。
- 包参数类似于局部变量。您可以从创建的包中访问它们。您无法从package2.dtsx访问package1.dtsx中的包参数。
SSIS项目参数
在这里,我们将演示在SSIS中创建项目参数的步骤。如果您查看解决方案资源管理器,我们会看到Project.params。
右键单击Project.params,然后从上下文菜单中选择“查看设计器”选项以创建SSIS项目参数。

单击“查看设计器”选项后,将打开以下窗口。您可以使用此窗口查看现有项目参数、创建新的项目参数、编辑现有参数或删除它。
从下面的屏幕截图中,我们通过单击“新建”按钮来创建新的项目参数。

我们将名称指定为ProjectMessage,数据类型指定为string,值为Hey!!这是SSIS项目参数。请单击“保存”按钮以保存项目参数。

现在,您可以在SSIS Packages文件夹中的所有包中使用此项目参数,即ProjectMessage。

SSIS包参数
在本示例中,我们将演示在SSIS中创建包参数的步骤。为此,我将创建一个新包。
如果您观察到以下屏幕截图,每个新包都有一个“参数”选项卡。您可以使用此选项卡创建包级别的参数。请单击此选项卡创建一个。

创建包级别参数和项目级别参数的界面是相同的。请单击“新建”按钮创建一个新的。
正如您从下面的屏幕截图中看到的,我们创建了一个名为PackageMessage的新参数,类型为string,其值为Hi!!这是一个包消息。

SSIS 项目参数与包参数
在这里,我们使用脚本任务来显示包含来自项目参数和包参数的数据的消息。为此,请从工具箱中将脚本任务拖放到“控制流”区域。

双击脚本任务将打开以下编辑器来配置脚本任务组件。我们在上一篇文章中已经解释了脚本任务的配置步骤,请参考相同的。
在这里,我们要选择已创建的参数。因此,请单击“只读变量”属性旁边的“…”(浏览)按钮。

在这里,我们将项目参数和包参数都选择为只读变量。

选择完所需的变量后,请单击“编辑脚本..”按钮以编写实际的C#或VB脚本。

这里我们使用消息框在弹出窗口中显示消息。
我们在下面截图中使用 C# 代码是:
// SSIS Project Vs Package Parameters Example
string ProjectMessage = Dts.Variables["$Project::ProjectMessage"].Value.ToString();
string PackageMessage = Dts.Variables["$Package::PackageMessage"].Value.ToString();
MessageBox.Show("Message From Project Parameter is:" +
ProjectMessage + Environment.NewLine +
Environment.NewLine +
"Message From Package Parameter is:" + PackageMessage);

单击“确定”以完成SSIS项目与包参数包的配置。让我们运行该包。

让我打开此项目中的另一个包。从下面的屏幕截图中,您可以看到这是我们在Execute Task in Single Rowset文章中创建的包。

让我尝试从这个脚本任务访问我们之前创建的。正如您从下面的屏幕截图中看到的,我们可以访问项目参数,但无法访问包参数。
