Java Studio Creator Issue with oracle CLOB Fields
We are using JSC2 which creates a cached row set (com.sun.sql.rowset.CachedRowSetXImpl) to implement a simple query on a legacy Oracle table that contains a CLOB column. When the DataDirect JDBC driver is used in the JSC2 development environment, everything works normally when the application is deployed to the internal application server. However, when the war file is exported and the application is deployed to an external system running tomcat and using the Oracle JDBC driver, a rowset exception is thrown. If the CLOB column is removed from the query, the external deployment also works properly so it appears that the exception is related to the CLOB column. This theory appears to be confirmed by the stack trace which appears to show that the metadata length of the CLOB column is negative and the rowset implementation used by JSC does not handle this case.
We understand that the Oracle JDBC drivers cannot be used in the JSC2 design environment because of shortcomings in the Oracle metadata implementation. But, it was our understanding that JSC2 applications can be designed using the DataDirect driver with JSC2 and then deployed to run with the Oracle driver where the metadata requirements are not so onerous. Our simple example appears to violate this understanding. It is a simple JSC application that will not run against the Oracle driver when the database contains a CLOB column.
Has anyone experienced this problem before and if so, is there a workaround available? We were unable to find any similar problems reported in this forum.
Caused by: java.sql.SQLException: Invalid precision value. Cannot be less than zero
at javax.sql.rowset.RowSetMetaDataImpl.setPrecision(RowSetMetaDataImpl.java:354)
at com.sun.sql.rowset.CachedRowSetXImpl.initMetaData(CachedRowSetXImpl.java:875)
at com.sun.sql.rowset.CachedRowSetXImpl.populate(CachedRowSetXImpl.java:789)
at com.sun.sql.rowset.internal.CachedRowSetXReader.readData(CachedRowSetXReader.ja va:194)
at com.sun.sql.rowset.CachedRowSetXImpl.execute(CachedRowSetXImpl.java:950)
at com.sun.sql.rowset.CachedRowSetXImpl.execute(CachedRowSetXImpl.java:1410)
at com.sun.data.provider.impl.CachedRowSetDataProvider.checkExecute(CachedRowSetDa taProvider.java:1219)
at com.sun.data.provider.impl.CachedRowSetDataProvider.setCursorRow(CachedRowSetDa taProvider.java:329)
... 57 more
I borrowed this post from another member, because I'm suffering from the same exact problem......
help!!! I don't kwow what to do.....
Thanks in advance

