Com.ibm.db2.jcc.am.SqlException: недопустимая операция: набор результатов закрыт. КОД ОШИБКИ=-4470, SQLSTATE=нольJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Com.ibm.db2.jcc.am.SqlException: недопустимая операция: набор результатов закрыт. КОД ОШИБКИ=-4470, SQLSTATE=ноль

Сообщение Anonymous »

У меня довольно простой портлет, который отображает количество посетителей портала (онлайн, ежедневно, еженедельно, ежемесячно, ежегодно).

В классе портлета в методе doView сначала я вызываю один метод, который выполняет вставку в таблицу (информацию о новом посетителе). После того, как я вызываю 5 методов один за другим, которые выполняют подсчет, выберите одну и ту же таблицу. Они все очень похожи, различаются только запросы. Один из способов реализации следующий:

Код: Выделить всё

public static Integer getOnline() {
Integer res = null;
Statement stmt = null;
ResultSet rs = null;

try {
stmt = getConnection().createStatement();
rs = stmt.executeQuery(query);
if (rs.next()) {
res = new Integer(rs.getString("1"));
}
} catch (SQLException e) {
log.error("Excepton: " + e);
} finally {
if (rs != null) {
try { rs.close(); } catch (SQLException e) { log.warn("Error closing result set: ", e); }
rs = null;
}

if (stmt != null) {
try { stmt.close(); } catch (SQLException e) { log.warn("Error closing statement: ", e); }
stmt = null;
}
}

return res;
}
Соединение получено:

Код: Выделить всё

public static Connection getConnection() {
try {
if (connection == null) {
if (dataSource == null) {
dataSource = (DataSource) new InitialContext().lookup(dataSourceName);
}

connection = dataSource.getConnection();
}
} catch (Exception e) {
log.error("Error on opening a connection: ", e);
}

return connection;
}
Соединение закрывается в конце метода doView. Иногда я получаю это исключение:

Код: Выделить всё

com.ibm.db2.jcc.am.SqlException: [jcc][t4][10120][10898][4.14.88] Invalid operation: result set is closed. ERRORCODE=-4470, SQLSTATE=null
из одного или нескольких методов выбора. Также иногда возникают следующие ошибки:

Код: Выделить всё

com.ibm.websphere.ce.cm.ObjectClosedException: DSRA9110E: Connection is closed.

com.ibm.websphere.ce.cm.ObjectClosedException: DSRA9110E: Statement is closed.
После поиска в Интернете я так и не нашел/понял, в чем причина ошибки в моем случае и как ее исправить. Любая помощь будет оценена по достоинству.

Подробнее здесь: https://stackoverflow.com/questions/152 ... sed-errorc
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Com.ibm.db2.jcc.am.sqlexception: неверная операция: набор результатов закрыт. ERRORCODE = -4470, SQLState = NULL
    Anonymous » » в форуме JAVA
    0 Ответы
    0 Просмотры
    Последнее сообщение Anonymous
  • Пакетное получение данных: Недопустимая операция: набор результатов закрыт. КОД ОШИБКИ=-4470, SQLSTATE=ноль
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Соединение Python RDS DB2: Ошибка типа: класс com.ibm.db2.jcc.DB2Driver не найден
    Anonymous » » в форуме Python
    0 Ответы
    40 Просмотры
    Последнее сообщение Anonymous
  • Соединение Python RDS DB2: Ошибка типа: класс com.ibm.db2.jcc.DB2Driver не найден
    Anonymous » » в форуме Python
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous
  • Операция CRUD в базе данных IBM DB2 с использованием .NET Core [закрыто]
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»