在将包部署到生产环境时,在 BIDS 中编辑包配置设置是一种糟糕的做法。如果将连接管理器详细信息放在包内,则只能使用 BIDS 进行编辑。为避免这种情况,我们使用了 SSIS 包配置设置。您可以使用它们来保存连接管理器详细信息、变量、值等。在此,我们向您展示了可用的包配置及其说明列表。
默认情况下,SSIS 包配置设置在包设计器中不可用。例如,如果右键单击控制流区域,它会打开上下文菜单。从列表中,您会看到没有“包配置”选项。

要获取该 SSIS 包配置选项,请导航至“项目”菜单,然后选择“转换为包部署模型”子菜单。

选择该菜单后,将显示一个新弹出窗口,如下所示。单击“确定”按钮。

单击“确定”按钮后,SSIS 将把当前包转换为部署模型。单击“确定”关闭转换窗口。

现在,如果右键单击 SSIS 控制流区域,上下文菜单将显示“包配置”选项。您可以选择此选项来添加它们。

以下是 SQL Server Integration Services 或 SSIS 中可用的包配置类型列表
- XML 配置文件:此类型会将配置设置保存在 XML 文件中。这是部署报表时最常见的方法。请参阅使用 XML 配置文件和第 2 部分以了解 XML 配置。
- 环境变量:它允许您使用环境变量来保存配置设置或包变量的值。请参阅使用环境变量文章以了解设置。
- 注册表项:您也可以将它们保存在注册表中。请访问使用注册表项以了解注册表设置。
- 父包变量:此类型会将它们保存在变量中。您可以使用此变量来更新子包中的属性。访问父子包。
- SQL Server:保存在其中的表。请参阅使用 SQL Server以了解设置。

SSIS 包配置示例
我们将在解释每个单独包配置类型的系列文章中使用此包。在开始包配置演示之前,让我向您展示我们将使用的表。它是“重复员工”表。

从下面的屏幕截图可以看出,这是一个简单的包,其中包含一个执行 SQL 任务和一个脚本任务。请参阅执行单个行集中的任务文章以了解包配置。

让我向您展示执行 SQL 任务中的配置设置。在这里,我们选择连接类型为OLE DB 连接,它连接到数据库。接下来,我们使用“直接输入”作为语句并编写自定义命令。最后,我们将 ResultSet 从 NONE(默认)更改为 Single row。

我将单击…按钮以显示 SSIS 包配置的自定义查询。
-- Example
SELECT [FirstName]
,[LastName]
,[Education]
,[Occupation]
,[Sales]
,[HireDate]
,[YearlyIncome]
FROM [DuplicateEmployee]
WHERE [YearlyIncome] = ? AND
[Education] = ?

在“参数映射”选项卡下,我们将变量分配给参数。这意味着“年度收入”旁边的第一个问号分配给“输入年度收入”变量,另一个问号分配给“输入教育”变量。

从下面的屏幕截图可以看出,我们将先前创建的变量分配给语句返回的所有列。

我认为我忘了显示现有变量。让我关闭“执行任务”编辑器,然后右键单击设计表面以选择“变量”选项。从下面的屏幕截图可以看出,InputEducation 的默认值为“硕士学位”,InputYearlyIncome 的默认值为 90000。

脚本任务中的 C# 代码如下所示。

让我们运行 SSIS 包配置以查看结果。
