Urgent - Problem with ResultSet's next function
OS - Sun Solaris 10
Java - J2SE 1.4.2
Database - Oracle 10g R2
Scenario: Java program accesses Oracle database over network.
-
I have written a multithreaded TCP server that acts as a middleware to serve other servers' database requests.
Initially it is tested OK if the return data is a lot. But lately I tested with little return data, here comes my headache. The SQLException's function printStackTrace printed errors as follows:-
java.sql.SQLException: Closed Statement: next
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:1130)
at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:224)
at oracle.jdbc.driver.ScrollableResultSet.cacheRowAt(ScrollableResultSet.java:2086)
at oracle.jdbc.driver.ScrollableResultSet.isValidRow(ScrollableResultSet.java:2060)
at oracle.jdbc.driver.ScrollableResultSet.isEmptyResultSet(ScrollableResultSet.java:2027)
at oracle.jdbc.driver.ScrollableResultSet.next(ScrollableResultSet.java:333)
at oracle.jdbc.driver.SensitiveScrollableResultSet.next(SensitiveScrollableResultSet.java:80)
at oracle.jdbc.driver.UpdatableResultSet.next(UpdatableResultSet.java:251)
at jTCPClient.processInputData(jTCPClient.java:702)
at jTCPClient.run(jTCPClient.java:1198)
My code implementation is as follows:-
...
try
{
Statement sqlSelect = m_dbCon.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rsCLIP = sqlSelect.executeQuery(strSQL);
while (rsCLIP.next())// <-- ERROR
{
if (rsCLIP.getString(1) ==null)
continue;
sbrTemp.append(rsCLIP.getString(1)).append("|");
}
sqlSelect.close();
}
catch (SQLException exSQL)
{
exSQL.printStackTrace();
}
...
For further information, the codes are implemeted within thread class like follows:-
class jTCPClientextends Thread
{
...
}
Does any expert here has any idea about this error? Please show me the light. This error has dragged me for few sleepless nights. Thanks in advance. Hope can hear from you soon. (Pray hard...)

