Hi,
This is the official Oracle error definition for the error you have reported:
01002, 00000, "fetch out of sequence"
*Cause: This error means that a fetch has been attempted from a cursor which is no longer valid. Note that a PL/SQL cursor loop implicitly does fetches, and thus may also cause this error.
There are a number of possible causes for this error, including:
1) Fetching from a cursor after the last row has been retrieved
and the ORA-1403 error returned.
2) If the cursor has been opened with the FOR UPDATE clause,
fetching after a COMMIT has been issued will return the error.
3) Rebinding any placeholders in the SQL statement, then issuing
a fetch before reexecuting the statement.
*Action:
1) Do not issue a fetch statement after the last row has been
retrieved - there are no more rows to fetch.
2) Do not issue a COMMIT inside a fetch loop for a cursor
that has been opened FOR UPDATE.
3) Reexecute the statement after rebinding, then attempt to
fetch again.
See if you can solve the problem from the SQL side.
I noticed that your
java code has two successive calls for next(). This could be a problem. I believe you can get rid of the one before the while loop.
-mohamed
[This message has been edited by Mo Ibrahim (edited July 12, 2001).]