1
我必須編寫一個存儲過程,它通過db鏈接調用遠程過程。此過程返回一個遊標。當我嘗試迭代這個遊標時,我得到ORA-01001:無效光標錯誤。我在一些論壇上看過,只是不允許通過數據庫鏈接訪問光標,但我並不相信這一點。任何人都知道如何解決它?這裏重要的是我不能修改現有的遠程方法。在Oracle中通過db鏈接訪問光標
下面是我的過程的代碼:遠程方法的
declare
TYPE generic_cursor IS REF CURSOR;
refCursorValue generic_cursor;
field1 [email protected]_db_link%type;
begin
[email protected]_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;