Hi,
I am using a patch version iBatis for REF CURSOR. We are using legacy database
I was getting exception "Cursor is closed" while executing a procedure.

stack trace of that exception is
java.sql.SQLException : Cursor is closed.
    at oracle.jdbc.driver.T4CResultSetAccessor.getCursor(T4CResultSetAccessor.java:271)
    at oracle.jdbc.driver.ResultSetAccessor.getObject(ResultSetAccessor.java:94)
    at oracle.jdbc.driver.OracleCallableStatement.getObject (OracleCallableStatement.java:1368)
    at test.TestSPA.main(TestSPA.java:95)

After doing some R&D I found that the if cursor is 'OUT' parameter and that is not opened in procedure, it will result in this exception. According to stack trace I found that in retrieveOutputParameters() method of  com.ibatis.sqlmap.engine.execution.SqlExecutor.java  cs.getObject(i+1)  is causing this exception. For a time being we are catching that exception so that we can retrieve other OUT values from procedure. Is there any other way to resolve this issue?
It's urgent.

Regards,

Vishakha sawant

Reply via email to