DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=29954>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=29954 Ant attempts to process result sets for SQL statements that do not return result sets, generating CLI0125E function sequence error in DB2 Summary: Ant attempts to process result sets for SQL statements that do not return result sets, generating CLI0125E function sequence error in DB2 Product: Ant Version: 1.6.1 Platform: PC OS/Version: All Status: NEW Severity: Normal Priority: Other Component: Optional Tasks AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] This issue first becomes visible to end users when using Ant 1.6.1 to process SQL scripts against DB2 8.1 FixPak 6 due to changes in the DB2 FixPak to tighten error reporting code. If Ant is used to process SQL statements that do not generate a result set, such as Create Table or Drop Table, a CLI0125E function sequence error is returned by DB2 following the call to: ret = statement.getMoreResults(); This error message from the DB2 perspective is expected behavior with the current Ant code, as the CLI function sequence reveals the error actually occurs when attempting to return the number of columns in the resultset when statement.getMoreResults() returns SQL_NO_DATA_FOUND, indicating that there is no resultset to process: SQLExecDirectW("drop table test") <- successful SQLNumResultCols() <- successful SQLRowCount() <- successful SQLNumResultCols() <- successful SQLMoreResults() <- SQL_NO_DATA_FOUND SQLNumResultCols() <- CLI0125E function sequence error Though this error is first visible to customers after upgrading to DB2 8.1 FixPak 6, the error was in fact always present in earlier releases. With FixPak 5 it was only visible through a trace, which would reveal an "Unretrieved error message CLI0125E" at the same location. DB2 FixPak 6 has been updated to ensure that such errors are reported back to the user as they should have been originally. The solution to this error would be to update the Ant code to process a check following the call to statement.getMoreResults() to check for the SQL_NO_DATA_FOUND condition. For example, the current code: resultSet = statement.getResultSet(); do { if (!ret) { if (updateCount != -1) { updateCountTotal += updateCount; } } else { if (print) { printResults(out); } } ret = statement.getMoreResults(); updateCount = statement.getUpdateCount(); resultSet = statement.getResultSet(); } while (ret); ... Could be changed to something similar to the following: resultSet = statement.getResultSet(); do { if (!ret) { if (updateCount != -1) { updateCountTotal += updateCount; } } else { if (print) { printResults(out); } } ret = statement.getMoreResults(); if (ret != 0 and ret == 100) // SQL_NO_DATA_FOUND { // No data was found on getMoreResults(), no further action should be taken... possibly break out of loop at this stage } else { updateCount = statement.getUpdateCount(); resultSet = statement.getResultSet(); } } while (ret); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]