首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ssis控制流执行sql vs数据流sql命令。

ssis控制流执行sql vs数据流sql命令。
EN

Stack Overflow用户
提问于 2017-02-27 07:18:31
回答 2查看 8.1K关注 0票数 3

我有一个存储过程(sp_selectClient),它有一个游标,在每次迭代中执行一些插入操作。在sp的最后一条语句中,我从一个表中选择了结果。

现在我正在创建一个ssis包,我在这方面是新的。我找到了最简单的方法:在Control中添加数据流任务,然后在数据流中添加一个source(OLEDB),在其中设置SQL 'EXEC sp_selectClient'。存储过程不接受任何参数。然后我把它映射到destination(flat file)中。我的疑问是,我也可以用Execute SQL Task来完成这个任务。如果是的话,那么这样做的好处和缺点是什么。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-27 09:47:49

是的,,您也可以对执行SQL任务执行相同的操作。

OLE命令在数据流任务中:将始终逐行处理数据

在控制流中执行SQL任务:将批量处理数据

执行SQL任务和OLE DB命令有什么区别?

票数 2
EN

Stack Overflow用户

发布于 2017-02-27 21:11:20

如果您的存储过程创建了一个结果集,那么您可以使用执行SQL并将结果集存储在Object类型的变量中,然后循环遍历Script Task中的行。

这些是有用的链接,可以帮助您将ResultSets存储在变量中,并在Script Task中循环其行。

如果存储过程不产生任何ResultSets (Select ),最好使用执行SQL

OLE DB Command为每一行运行insert、update或delete语句,而Execute SQL Task在此实例中执行批量插入。这意味着每一行通过您的包时都会有一个insert语句在到达OLE DB Command时运行。

参考资料:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42479858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档