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.
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 |