Nicolas Dufour wrote:
I have a very strange exception I dont understand at all !
Error with Flown XY query results.java.sql.SQLException: [IBM][CLI
Driver] CLI0125E Function sequence error. SQLSTATE=S1010
Query
as [call get_map_flown_track_batch
('362430903,362417493,362396877,362416037,362426968,362402729,362409152,362431708,362438311,362423838,362403122,362447641,362384606,362380184')]
java.sql.SQLException: [IBM][CLI Driver] CLI0125E Function sequence
error. SQLSTATE=S1010
I wrote both a Java and C++ program to call your procedure and return the
results, and both programs worked without problem. Then, in my C++ program
(which runs using the IBM ODBC driver), I added an explicit "commit" call after
executing the query but before fetching any results. After doing that, attempts
to fetch the results caused the "Function sequence error" that you are seeing.
So my guess is that somewhere between the time you call your procedure and the
time you try to fetch the results, a commit is being executed and that's closing
the result set.
In order to find out if that's the case, try adding the following line to your
Java procedure, right after you get the connection:
conn.setHoldability(ResultSet.HOLD_CURSORS_OVER_COMMIT);
And see what happens. If you still see the same error (and you're running with
an up-to-date 10.1 or 10.2 codeline), then I guess the problem is elsewhere; if,
however, the problem goes away, then it is probably the case that a commit
somewhere is causing the result set to close.
Note that a fix for holdability inside procedures was checked into the 10.1 and
10.2 codelines with DERBY-498; if you don't have that fix in your codeline, then
adding the above line probably won't change anything...
Army