com.ibm.db2.GBA.bin.SqlException: Ungültiger Vorgang: ResultSet ist geschlossen. ERRORCODE=-4470, SQLSTATE=null

Ich habe lieber ein einfaches portlet zeigt die Anzahl der Besucher des Portals (online, täglich, wöchentlich, monatlich, jährlich).

In der portlet-Klasse in der doView-Methode Erstens rufe ich eine Methode, die ein insert auf die Tabelle (Infos über neue Besucher). Nachdem ich call 5 Methoden nacheinander, die eine Zählung wählen Sie auf die gleiche Tabelle. Sie sind alle ziemlich ähnlich, nur Ihre Abfragen unterscheiden sich. Eine der Methoden ist die Umsetzung der folgenden:

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;
}

Verbindung erhalten:

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;
}

Verbindung ist geschlossen am Ende der doView-Methode. Gelegentlich bin ich immer die Ausnahme:

com.ibm.db2.jcc.am.SqlException: [jcc][t4][10120][10898][4.14.88] Invalid operation: result set is closed. ERRORCODE=-4470, SQLSTATE=null

einer oder einige der Methoden, die Sie wählen. Auch die folgenden Fehler manchmal:

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

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

Nach der Suche im internet habe ich noch nicht gefunden/erkannt, was ist die Ursache ein Fehler in meinem Fall und wie ich es beheben kann. Jede Hilfe würde geschätzt werden.

Schreibe einen Kommentar