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

Reply via email to