SSIS:如何在数据流任务中运行存储过程
我有一个数据流任务执行此操作:
- 从OLE DB源运行SQL命令以选择一些数据
- 查找不同的SQL DB源,检查数据是否已存在
- 根据Lookup Match输出与Lookup No Match输出,运行具有不同输入参数的存储过程。输入参数将基于第二个 中的"可用查找列"结果
问题是如何运行某些输入参数并将其传递到我的存储过程中?
解决方案
若要使用OLEDB命令中的参数执行存储过程,只需编写SQL命令并使用?
指定参数。
示例:
考虑以下存储过程:
CREATE PROCEDURE dbo.SpInputOutput
@input as int,
@output as datetime output
AS
BEGIN
SET NOCOUNT ON;
set @output=DATEADD(Day,@input,getdate())
END
您应该编写以下命令:
exec SpInputOutput ? , ? output
并在"列映射"对话框中,将输入列映射到指定的参数。
有关更多详细信息,请查看以下链接:
- Output Parameter of Stored Procedure In OLE DB Command - SSIS
- SSIS OLEDB COMMAND AND PROCEDURE OUTPUT PARAMS
相关文章