如何在SQL Task中将存储过程的输出映射到变量?

时间:2019-01-07 19:55:01

标签: sql-server ssis ssis-2012

在SSIS程序包中,我正在执行存储过程usp_GetResult,该存储过程将返回2行(select PathName, FolderPath from config)。

PathName   : InboundFolderPath
FolderPath : c:\Inbound

PathName   : OutboundFolderPath
FolderPath : c:\Outbound

我将必须映射变量@InboundFolderPath = c:\Inbound@OutboundFolderPath = c:\Outbound

如何在SQL Task中将存储过程的输出映射到变量?

2 个答案:

答案 0 :(得分:1)

我知道的唯一方法是在“执行SQL任务”中使用“完整结果集”,并将结果存储在对象变量中。

然后使用脚本任务将对象变量转换为数据集,并对其进行迭代以填充标量变量。

答案 1 :(得分:1)

我还没有真正尝试过,但是怎么样:

Declare @T Table (pathName varchar(100), folderName varchar(100))
Insert @T Exec StoredProc params  

Select max(case when PathName = 'InboundFolderPath' then folderName end ) inBound
    ,max(case when PathName = 'OutboundFolderPath' then folderName end ) outBound
from @T

然后映射