Hi!

We are currently porting major pieces of our software from MySQL to Oracle. I'm currently stuck with the Oracle "too many open cursors" failure. Having checked our own software first I have checked the Torque sources next.
The most notable thing I found when searching for unclosed JDBC-resources were the missing close()-calla to the Statements used in the many DB adapters, including the Oracle adapter. Most methods look like this:


public void lockTable(Connection con, String table) throws SQLException
{
        Statement statement = con.createStatement();

        StringBuffer stmt = new StringBuffer();
        stmt.append("SELECT next_id FROM ")
                .append(table)
                .append(" FOR UPDATE");

        statement.executeQuery(stmt.toString());
}

The used statement does remain open. Was this done on purpose with an intention I don't see or did someone simply forget to close the Statements? Since we are performing database operations with a very high rate, those things sometimes tend to cause problems.

--
Mit freundlichen Gr��en / Kind regards

Hendrik Busch - Senior Developer

LexisNexis Deutschland GmbH
http://www.lexisnexis.de
Feldstiege 100
D-48161 M�nster
phone +49 (0) 2533-9300-455
fax +49 (0) 02533-9300-50
[EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to