If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Problem reading CLOB column into RowSet with 8.1.7.1 JDBC thin driver

Hi,

We're facing a strange and new problem.
Our use case is as follows:
we issue a SELECT statement on a table having a column of CLOB
type and we use the result set to populate a CachedResultSet
object of Sun's implementation.

We run a database of version 8.1.7.1.1 on linux, till yesterday
we used some older driver (probably the one for 8.1.6 with the
same database) and everything was fine. After having upgraded to
the latest available thin driver (8.1.7.1), we started to suffer
from a Java Exception generated by the ResultSetMetaData
implementation of the JDBC Driver.

Here's the stack trace:
java.lang.NumberFormatException: 4294967295
at java.lang.Integer.parseInt(Integer.java:417)
at java.lang.Integer.parseInt(Integer.java:454)
at
oracle.jdbc.driver.OracleResultSetMetaData.getPrecision
(OracleResultSetMetaData.java:276)
at sun.jdbc.rowset.CachedRowSet.initMetaData
(CachedRowSet.java:681)
at sun.jdbc.rowset.CachedRowSet.populate
(CachedRowSet.java:647)

Our idea is that the getPrecision method returns the maximum
length of for CLOB datatype that exceeds the maximum int value
in Java (Integer.MAX_VALUE is 2147483647).

If you shared any idea on what we could do to solve this with
minimum changes to the code, I'd highly appreciate it.