SSI使用存储过程将DB数据访问到TSQL中

SSI使用存储过程将DB数据访问到TSQL中,tsql,ssis,Tsql,Ssis,我想使用一个数据流任务,它有两个源,一个来自Access DB,另一个来自SQL Server DB。然后,我想操作数据,并最终在作为第二个源的同一台SQL Server上调用一个存储过程 因此,我不能使用executesql任务,因为我希望操作数据并在最后调用存储过程 我将使用什么工具箱组件,存储过程将调用什么格式 我尝试使用一个名为这样的存储过程来实现OLEDB目标 Exec sppUpdateAATable1 ?,? SSIS使用管道的概念来组织数据流任务。数据从源流向目标,而对这些数据

我想使用一个数据流任务,它有两个源,一个来自Access DB,另一个来自SQL Server DB。然后,我想操作数据,并最终在作为第二个源的同一台SQL Server上调用一个存储过程

因此,我不能使用
executesql任务
,因为我希望操作数据并在最后调用存储过程

我将使用什么工具箱组件,存储过程将调用什么格式

我尝试使用一个名为这样的存储过程来实现OLEDB目标

Exec sppUpdateAATable1 ?,?

SSIS使用管道的概念来组织数据流任务。数据从源流向目标,而对这些数据的处理则在这两者之间进行。因为您希望将存储过程中的处理结果用作参数,所以不能在管道概念下进行。SP并不是数据的真正目的地,因为SP也会对其进行处理

您可以填充内存中的
记录集
(目标),并使用ForEach循环容器为每一行记录集执行SP

更新

您的软件包应该如下所示:

数据流任务: OLEDB与Access的连接 OLEDB与SQL Server的连接 要组合2个数据流,请在任务中使用UNO 记录集目的地,在属性中,您可以将类型为Object(MyRecordsetVar)的变量命名为。它将保存记录集数据

ForEach循环容器。在properties select type of loop container-ADO Recorset中,在循环属性中指定MyRecordsetVar变量。 分配两个以上(或根据需要)变量以保存记录集每列的数据。来自记录集每一行的数据将传递给这些变量。一次一排

在循环内放置执行SQL任务。在任务的输入“菜单”中,指定您的输入变量,这些变量包含来自记录集列的数据。我想你知道怎么做

将查询作为
执行sp\u MyProc?,?
放入任务中


应该是这样。

您可以省去记录集目的地和foreach循环路由的麻烦,而是在数据流中使用。它将为流经它的每一行触发存储的proc。

是在填充表的数据流任务中执行所有数据操作的唯一方法。然后,第二步是在for each容器中获取该数据,并调用一个执行SQL任务,该任务调用我的存储过程。我想使用该存储过程,因为它更新了多个表,并用于应用程序中的其他函数。感谢您抽出时间回答我的问题。我可以创建一个记录集,然后让我的下一个任务运行一个存储过程,但我不知道如何在存储过程中操作对象。你有一个例子或链接吗?我所看到的一切都是关于将该记录集与一个新表一起使用,而不是一个存储过程。来自RS列的数据将被传递给变量-on,每个列一次一行。然后将这些变量提供给SQL任务。