我必须编写一个通过数据库链接调用远程过程的存储过程。此过程返回一个游标。当我尝试遍历此游标时,我得到 ORA-01001:无效游标错误。我在一些论坛上读到,根本不允许通过数据库链接访问游标,但我不相信这一点。有谁知道如何解决它?这里重要的是我不能修改现有的远程方法。
以下是我的程序代码:
declare
  TYPE generic_cursor IS REF CURSOR;
  refCursorValue generic_cursor;  
 field1 table1.column1@my_db_link%type;
begin
  rempote_package.remote_method@my_db_link('33337136','','',refCursorValue);
 loop
      fetch refCursorValue into  field1;      -- here exception is thrown               
      exit when refCursorValue%NOTFOUND;
  end loop;
  close refCursorValue;
end;
远程方法接口如下:
PROCEDURE remoteMethod (p1 IN VARCHAR2,
 p2 IN VARCHAR2,
 p3 IN VARCHAR2,
 rst_data OUT pkg_resultset.generic_cursor)
并且 pkg_resultset.generic_cursor 有以下定义:
 TYPE generic_cursor IS REF CURSOR;