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

时间:2019-01-29 20:12:11

标签: sql sql-server stored-procedures ssis etl

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

  1. 从OLE DB源中,运行SQL命令以选择一些数据
  2. 查找其他SQL DB源,检查数据是否已存在
  3. 基于查找匹配输出vs.查找不匹配输出,使用不同的输入参数运行存储过程。输入参数将基于#2的“可用查找列”结果

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

enter image description here

2 个答案:

答案 0 :(得分:2)

要在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

然后在“列映射”对话框中,将输入列映射到指定的参数。


有关详情,请检查下面的链接:

答案 1 :(得分:0)

如果仅使用一个SQL Server作为数据源,那么编写包含所有逻辑的SP会更方便,更快捷。这样一来,您就不必在SQL Server外部传输数据,也不需要额外的动作了