Hi All,
I am trying to insert a CLOB column using CMP. CLOB data is 6028 chars. I get the error " java.sql.SQLException: Io exception: Stream closed" I have been hunting the issue. It is JBOSS3.0.2 + Oracle 9I It appears that JDBCCreateEntityCommand invokes AbstractCMPFieldBridge.setInstanceParams. Method calls are JDBCCreateEntityCommand.insertEntity() --- ****************************************** // set the parameters int index = 1; for(Iterator iter = insertFields.iterator(); iter.hasNext(); ) { JDBCFieldBridge field = (JDBCFieldBridge)iter.next(); index = field.setInstanceParameters(ps, index, ctx); } field.setInstanceParameters(ps, index, ctx) makes a call to JDBCAbstractCMPFieldBridge. JDBCAbstractCMPFieldBridge ************************** JDBCAbstractCMPFieldBridge.setInstanceParameters() { ..... setArgumentParameters(ps, parameterIndex, instanceValue); } setArgumentParameters(ps, parameterIndex, instanceValue) makes a call to JDBCUtil.setParameter(log, ps, parameterIndex++, jdbcTypes[i],columnValue); This sets the value in PreparedStatement and then rowsAffected = ps.executeUpdate(); is called in JDBCCreateEntityCommand. Since inputStream is closed and ORACLE uses Streams to read/write CLOB/BLOB it gives the error that OutputStream is closed. Any workaround??? NOTE: I tried to use getParameterMetaData for PreparedStatement but it fails. Oracle drivers are not implementing this JDBC3.0 feature. Any idea for solving this CLOB issue would be more than welcome. TIA, Saroj -----Original Message----- From: Saroj Kumar [mailto:[EMAIL PROTECTED]] Sent: Wednesday, September 25, 2002 9:17 PM To: '[EMAIL PROTECTED]' Subject: Io exception: Stream closed while using CLOB Hi All, I am trying to insert a CLOB column using CMP. I get this error. CLOB size is 6028. java.sql.SQLException: Io exception: Stream closed at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:323) at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java: 1460) at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1 371) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement. java:1900) at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedS tatement.java:363) at org.jboss.resource.adapter.jdbc.local.LocalPreparedStatement.executeUpda te(LocalPreparedStatement.java:308) at org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.insertEntity(JDBC CreateEntityCommand.java:196) at org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.execute(JDBCCreat eEntityCommand.java:131) at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.createEntity(JDBCStoreMa nager.java:527) at org.jboss.ejb.plugins.CMPPersistenceManager.createEntity(CMPPersistenceM anager.java:253) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.createE ntity(CachedConnectionInterceptor.java:270 ) at org.jboss.ejb.EntityContainer.createHome(EntityContainer.java:728) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav a:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor Impl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityCont ainer.java:1116) at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor .java:73) at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(Entity SynchronizationInterceptor.java:209) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeH ome(CachedConnectionInterceptor.java:215) at org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanc eInterceptor.java:88) at org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterce ptor.java:79) at org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreatio nInterceptor.java:44) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterce ptor.java:111) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptor CMT.java:178) at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java: 52) at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor .java:105) at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:129) at org.jboss.ejb.EntityContainer.invokeHome(EntityContainer.java:487) at org.jboss.ejb.Container.invoke(Container.java:738) at org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:1055) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517) at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:370 ) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav a:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor Impl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261) at sun.rmi.transport.Transport$1.run(Transport.java:148) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:144) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.ja va:701) at java.lang.Thread.run(Thread.java:536) 20:57:37,909 WARN [TxCapsule] Transaction XidImpl [FormatId=257, GlobalId=mdpcad110773//0, BranchQual=] timed out. status=ST ATUS_ACTIVE ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user