ProcedureStatement does not follow JDBC spec for processing result sets -----------------------------------------------------------------------
Key: IBATIS-146 URL: http://issues.apache.org/jira/browse/IBATIS-146 Project: iBatis for Java Type: Bug Components: SQL Maps Versions: 2.0.9b Reporter: John Didion CallableStatement API documentation: "For maximum portability, a call's ResultSet objects and update counts should be processed prior to getting the values of output parameters". The problem occurrs when calling SqlExecutor.executeQueryProcedure() on a stored procedure that returns at least one result set as well as output parameters. Some drivers handle this fine, but a driver coded to the letter of the JDBC spec will not. The code should look something like this: <pre> errorContext.setMoreInfo("Check the statement (update procedure failed)."); rs = cs.executeQuery(); errorContext.setMoreInfo("Check the results (failed to retrieve results)."); handleResults(request, rs, skipResults, maxResults, callback); // consume additional results while (cs.getMoreResults()); errorContext.setMoreInfo("Check the output parameters (retrieval of output parameters failed)."); retrieveOutputParameters(cs, mappings, parameters); </pre> If you want to test this, try using the jTDS driver. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira