Skip to Main Content

Java Database Connectivity (JDBC)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Connection Pooling and Exhausted Resultset

310047May 2 2003 — edited May 2 2003
Hello!

I'm using 9.2.0.3 database and also JDBC driver for this database version.

I'm using connection pooling implemeted in oracle.jdbc.pool.OracleConnectionCacheImpl class, as it is shown at: http://www.csis.gvsu.edu/GeneralInfo/Oracle/java.920/a96654/connpoca.htm#1059543

From time to time I'm getting an error: java.sql.SQLException: Exhausted Resultset
(In 80% specifed select is working ok in 20% I'm recive above error.)

The error appears when the request to database takes more time, the select execution time on database side is a bit longer, about 4 minutes.

It's strange becouse I can start to porcess resultset I'm reading couple colums and then comes the error.

I use OracleConnectionCacheImpl.setLogWriter method to log what happend, the result is:

<-------- Start --------->
DRVR OPER OracleResultSetImpl.getString(columnIndex=1)
DRVR OPER OracleResultSetImpl.getString(columnIndex=2)
DRVR OPER OracleConnection.close()
DRVR OPER OracleResultSetImpl.getString(columnIndex=3)
DRVR OPER OracleResultSetImpl.getString(columnIndex=4)
DRVR OPER OracleResultSetImpl.getString(columnIndex=5)
DRVR OPER OracleResultSetImpl.getString(columnIndex=6)
DRVR OPER OracleResultSetImpl.getString(columnIndex=7)
DRVR OPER OracleResultSetImpl.getString(columnIndex=1)
DRVR OPER OracleResultSetImpl.getString(columnIndex=2)
DRVR OPER OracleResultSetImpl.getString(columnIndex=3)
DRVR OPER OracleResultSetImpl.getString(columnIndex=4)
DRVR OPER OracleResultSetImpl.getString(columnIndex=5)
DRVR OPER OraclePreparedStatement.sendBatch()
DRVR OPER OracleResultSetImpl.getString(columnIndex=6)
DRVR OPER OracleConnectionCacheImpl.getCacheInactivityTimeout(): returned 100
DRVR OPER OracleConnection.close()
DRVR OPER OracleConnection.close()
DRVR OPER OracleConnectionCacheImpl.getThreadWakeUpInterval(): returned 900
DRVR WARN DBError.findMessage(errNum, obj): returned Exhausted Resultset
DRVR OPER OracleConnection.close()
DRVR OPER OracleConnection.commit()
DRVR OPER OracleConnection.close()
DRVR OPER OracleConnection.close()
DRVR OPER OracleConnection.setAutoCommit(autoCommit=true)
<-------- End --------->

I'm think that the problem can be in closign connection, close before the error appear.
Maybe is't realated with "Inactivity timeout" or "Time to Live timeout". The times are set to 100 and 100.

Can anybody tell me what happes the error, how to solve the problem?

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on May 30 2003
Added on May 2 2003
2 comments
1,296 views