Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

JDBC Rowsets running out of memory when dealing with large tables



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/



Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group