JDBC Rowsets running out of memory when dealing with large tables

From: ray_amit(at)vsnl(dot)net (Amit Ray)
To: pgsql-jdbc(at)postgresql(dot)org
Subject: JDBC Rowsets running out of memory when dealing with large tables
Date: 2004-07-26 09:35:38
Message-ID: 8f5b0ade.0407260135.5150c3de@posting.google.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Hello,

The following code doesn't work for SELECT query on very large tables
:

...

import javax.sql.RowSet;
import oracle.jdbc.rowset.OracleJDBCRowSet;

....

RowSet rowset = new OracleJDBCRowSet();
rowset.setUsername(username);
rowset.setPassword(password);
rowset.setUrl(url);
rowset.setConcurrency(ResultSet.CONCUR_UPDATABLE);
rowset.setCommand();
rowset.execute();

while ( rowset.next() )
{
// These variables have been declared earlier

callType = rowset.getString("CALL_TYPE");
otherNumber= rowset.getString("OTHER_NUMBER");
timestamp = rowset.getTimestamp("CHARGING_TIMESTAMP");
volume = rowset.getInt("VOLUME");

rowset.updateFloat("CHARGE", volume * 0.50);
rowset.updateRow();
}
// Closing the DB connection.
rowset.close();
...

The jars used : ojdbc14.jar, ocr12.zip, ocr12.jar comes along with
Oracle 9i.

It runs out of memeory when I try to execute it on a large table. Is
it because the rowset is trying to cache the entire resultset in
memory? From practical requirements point a view neither can I
guarantee that the data would be lesser than permitted by the m/c's
main memory on which it will be implemented nor the actual table can
be split up into chunks.

Is there any other way out ? Please reply asap.

Amit Ray.

http://www.go4expert.com/forums/

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Paul Thomas 2004-07-26 09:58:19 Re: Problem w/ IDENT authentication
Previous Message Ian Pilcher 2004-07-26 08:53:38 Problem w/ IDENT authentication