SSIS:如何在数据流任务中运行存储过程

2022-03-31 00:00:00 sql etl sql-server stored-procedures ssis

我有一个数据流任务执行此操作:

  1. 从OLE DB源运行SQL命令以选择一些数据
  2. 查找不同的SQL DB源,检查数据是否已存在
  3. 根据Lookup Match输出与Lookup No Match输出,运行具有不同输入参数的存储过程。输入参数将基于第二个
  4. 中的"可用查找列"结果

问题是如何运行某些输入参数并将其传递到我的存储过程中?


解决方案

若要使用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

相关文章