Web服务的光标已关闭

时间:2015-04-17 12:19:50

标签: java oracle cursor oracle10g

有人知道我是否可以这样做:(这是来自SP的草图)

CREATE  OR REPLACE
PROCEDURE cursor_values(
   p_cur_out OUT sys_refcursor
)
IS
   p_cur2 sys_refcursor;   

BEGIN
sql_query:='select c1,c2 from table';

open p_cur2 for sql_query;
LOOP
   -- Check data values
   -- Do actions whith the data
END LOOP;

   -- Reopen ref_cursor for output
   OPEN p_cur_out FOR sql_query;

END cursor_values; 

当我执行匿名PL / SQL块(使用SQL Developer)时,我得到了光标。但是当我在Java中使用WebService时,我得到了错误(在Web服务中)

java.sql.SQLException: Cursor is closed.
        at oracle.jdbc.driver.T4CResultSetAccessor.getCursor(T4CResultSetAccessor.java:329)
        at oracle.jdbc.driver.ResultSetAccessor.getObject(ResultSetAccessor.java:85)

我知道Web服务运行正常。如果我不打开光标,工作正常,但我需要查看数据。

请帮忙,问候!

0 个答案:

没有答案