我们可以为执行sql任务提供多少结果测试

时间:2016-10-24 13:21:49

标签: sql sql-server ssis ssis-2012 control-flow

我有ssis packageexectue sql任务。我尝试通过添加stored procedure作为sql语句来修改任务。 stored procedure返回两个结果集。

存储过程:

create proc test
as
begin

select EmpID from Employee

select PersonID from person
end

我使用result sets result将任务中的parmeter name 0映射到& 1设置标签,并将其分配给两个variables

enter image description here

当我运行包时,我得到以下错误

  

[执行SQL任务]错误:结果数量无效   为ResultSetType返回的绑定:“ResultSetType_Rowset”。

但是,如果我删除一个result set并执行package,它会成功运行。是否可以添加多个结果集来执行sql任务?我在这里缺少什么?

谢谢

1 个答案:

答案 0 :(得分:2)

Execute SQL任务无法访问存储过程返回的多个结果集。它只能访问第一个结果集。

您在屏幕截图中显示的结果集选项卡不是用于将不同的结果集分配给对象类型变量。它用于为标量变量分配不同的列。

如果您更改了存储过程以返回包含两列的单个结果集,那么您在屏幕截图中的方式就可以了。