Что делает oracleClose() и oracleCloseQuery() в sqlj.runtime.ExecutionContext.OracleContext.Результирующий набор JDBC из хранимой процедуры Oracle PL/SQL
Поскольку мы обновили драйвер JDBC баночку для ojdbc5.jar
с oracleClose()
в конце концов блока мы получаем ниже исключение при использовании resultset.next()
и не с oracleCloseQuery()
. Безопасно ли использовать oracleCloseQuery()
. База данных - это Oracle 11g и WAS 6.1.X.X. Цените свой ответ. Вот сообщение об ошибке:
java.sql.SQLException: Закрыто Заявление: следующая на oracle.jdbc.driver.SQLStateMapping.newSQLException (SQLStateMapping.java:70) в oracle.jdbc.driver.DatabaseError .newSQLException (DatabaseError.java:131) на oracle.jdbc.driver.DatabaseError.throwSqlException (DatabaseError.java:197) на oracle.jdbc.driver.DatabaseError.throwSqlException (DatabaseError.java:261) в oracle.jdbc .driver.DatabaseError.throwSqlException (DatabaseError.java:269) at oracle.jdbc.driver.OracleResultSetImpl.next (OracleResultSetImpl.java:205) at com.westgroup.pubsvc.r ms.models.ResultSetSRC.getNextResult (ResultSetSRC.java:112)
Спасибо за ваш ответ. Mothod возвращает Resultset и используется позже после выполнения блока finally, который не является хорошей практикой, но работал с версией драйвера JDBC Oracle - «10.2.0.1.0». И этот код представляет собой Java-код Jpublisher из хранимой процедуры. Это значит, что нам нужно изменить хранимую процедуру. – Lalitha
Я не уверен, что делает JPublisher, но прохождение вокруг 'ResultSet' вне методов вроде плохой идеи. Вам не нужно изменять хранимую процедуру. Вам просто нужно сопоставить «ResultSet» с «списком», как показано в ответе. –
BalusC