Subject Re: [Firebird-Java] GDS Exception: Cursor unknown
Author Roman Rokytskyy
> I have a select that returns 102903 rows. I then loop through these
> batching two sets of PreparedStatements, and execute and commit
> every 1000.

Commit closes the server-side cursor, see
DatabaseMetaData.supportsOpenCursorsAccrossCommit() result. This is related
to the result set holdability, which is not supported by the server.

In theory driver could close result sets during commit, maybe this will be
added in next versions.

Do not commit when traversing result sets. If you relly need to commit, you
can execute "COMMIT RETAIN" SQL statement, however there might be issues
when using this statement. Ask in Firebird-Support, they can explain better.

> When calling rs.next() for record 1199 I get the following exception:

You get this exception during the next fetch, in your case it happened after
1198-th record. There is no rule, everything depends on the record size, how
many records fit the network packet. This is very protocol specific issue.

Roman