本文档展示了如何使用具有参数的 OLE DB 命令转换在 SSIS Integration Services 中调用存储过程,并附带了一个示例。
下表显示了成本表;我们将这些表列用作参数值。

用于应用存储过程的表,其中包含 395 行。

下面的代码显示了我们为此演示创建的 已删除的存储过程。它是一个简单的存储过程,接受两个参数,并删除颜色等于 @Color 且列表价格小于 @ListPrice 参数的表记录。
我们使用的查询是
USE [Task Results] GO CREATE PROCEDURE [dbo].[spDelteRecords] @Color NVARCHAR(15), @ListPrice Money AS BEGIN SET NOCOUNT ON; DELETE FROM [OLE DB Command Insert] WHERE Color = @Color OR ListPrice < @ListPrice END EXECUTE [dbo].[spDelteRecords] ?, ?
SSIS OLE DB 命令调用带参数的存储过程
将数据流任务拖放到控制流区域。

双击以打开 SSIS 数据流区域。然后,拖放 OLE DB 源 并双击打开编辑器。接下来,单击“新建”按钮以配置 OLE DB 连接管理器。在此,我们选择了现有的连接。

在此示例中,我们必须从列表中选择现有的成本表。

接下来,转到“列”选项卡检查“颜色”和“列表价格”列,因为我们要将这些列的值用作参数,然后单击“确定”按钮。

添加 OLE DB 命令转换 并连接到源。双击它将打开高级编辑器。在“连接管理器”选项卡下,选择现有的 OLE DB 连接。

编写以下 SQL 命令来执行或运行存储过程。这里的 ? 代表 参数 值。

检查命令。

在“列映射”下,映射输入列和目标列。输入列来自成本表,目标列表示参数。

运行 SSIS OLE DB 命令调用带参数的存储过程包。

在 Management Studio 中,如果查看表,会发现没有列表价格小于 16 的白色或黑色产品。因此,记录总数变为 251,而原始记录数为 395。
