你如何在SSIS中调用存储过程?

Joh*_*ski 21 sql-server parameters ssis stored-procedures sql-server-2005

我正在尝试创建一个SSIS包,用于查询表中的数据,并在每行的另一个数据库中调用存储过程.

在我的旧DTS包中,我这样做:

EXEC myStoredProcedure ?, ?, ?
Run Code Online (Sandbox Code Playgroud)

...然后我映射了参数.但是,在SSIS中,我无法弄清楚如何使这项工作.

我有一个数据流任务,它首先运行数据查询.它将数据传递给OLE DB目标.我将数据访问模式设置为"SQL命令",但是当我尝试输入上面的SQL时,我在解析SQL时得到"无效参数计数".我无法进入Mappings屏幕.有任何想法吗?

Ed *_*per 14

在数据流中,OLE DB Command可用于为数据流中的每一行执行SQL语句 - (MSDN文档)

或者,您可以将源结果集存储在数据类型对象的变量中,并使用Foreach Loop控制流中的容器(此处为示例).


Lan*_*per 8

您将需要使用执行SQL任务.在SQLStatement部分中,您可以添加代码以执行存储过程.

为了传入参数,请使用?语法并在"参数映射"部分中指定参数.

这里可以找到一个很好的例子.