Reading nested oracle cursors getCursor(col) throws ORA-01002 "Fetch out of sequence"
posted 15 years ago
On oracle 9i I'm trying to read the nested cursors that are returned by a request, (using "cursor" keyword or PL/SQL function which returns cursors).
however, when I try to "getCursor" or "getObject" the cursor column, I get the "ORA-01002: fetch out of sequence" SQL exception.
metaInfo show the types are good... autocommit is false (same with true). How can one safely read the content of NESTED cursors? ps: my methods works perfectly with simple cursors returned by stored functions or procedures.
-- The request looks like like: select T.*, cursor(select * from U where U.owner=T.id) from T or through PL/SQL function returning cursor like: select T.*, PACKAGE1.getUByOwner from T I create the usual Statement, get the ResultSet, call resultSet.next(); and it fails on ((OracleResultSet) resultSet).getCursor(col);
the columns is of SQL type name "REFCURSOR" according to the ResultSetMetaData, and metaInfo.getColumnType(col) == oracle.jdbc.OracleTypes.CURSOR