当前位置: 代码迷 >> DB2 >> db2存储过程返回结果集的有关问题
  详细解决方案

db2存储过程返回结果集的有关问题

热度:10078   发布时间:2013-02-26 00:00:00.0
db2存储过程返回结果集的问题
在存储过程中用游标返回结果集,比如:
CREATE PROCEDURE test1()
DYNAMIC RESULT SETS 1
LANGUAGE SQL

BEGIN
DECLARE cursor1 CURSOR WITH HOLD WITH RETURN TO CALLER FOR
select * from linktest;
open cursor1;
END @


但执行“call 存储过程”,最终返回的是状态0

我在sqlserver2008中建了链接服务器,
执行select * from openquery(linkdb2test1,'select * from linktest')成功!
但执行select * from openquery(linkdb2test1,'call db2admin.test1')失败!
提示:无法处理对象 "call db2admin.test1"。链接服务器 "linkdb2test1" 的 OLE DB 访问接口 "DB2OLEDB" 指示该对象没有列,或当前用户没有访问该对象的权限。

------解决方案--------------------------------------------------------
call db2admin.test1 这个不需要加()的吗?

你的test1的sp,是db2amdin用户下创建的吗?你创建的链接是db2admin这个用户吗?
------解决方案--------------------------------------------------------
call db2admin.test1()
  相关解决方案