对于SSIS,我必须将数据从服务器传输到另一个服务器,但在最终目的地,我有一个像ID这样的列。 为了确定每行的新ID,我必须在最终服务器上执行存储过程。
是否可以在DataFlow中执行此操作并避免ControlFlow中的Foreach循环?
此致 纪尧姆。
答案 0 :(得分:1)
不,我认为不是。我建议使用执行SQL任务来执行DataFlow任务,该任务将执行存储过程。
答案 1 :(得分:1)
您可以使用OLEDB command
执行此任务。如果您的SP有return
语句,请尝试捕获返回值并将其与输入列一起映射
exec ? = dbo.ReturnID
此语句将创建一个@RETURN_VALUE
,您需要使用输入ID
列进行映射。请记住在源本身中创建一个输入ID column
为NULL或任何值,以便您可以使用OLEDB component
@RETURN_VALUE
中映射此列
Update 1 :
试试这个: -
EXEC dbo.my_sp 'p1', 'p2',@variable_name=? output
@variable_name
是存储过程中使用的输出变量名称