You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-user@db.apache.org by Emmanuel DUPONT <em...@jwaretechnologies.com> on 2004/02/25 09:34:31 UTC

Clob : Coonection reset (??)

All,

 

Since we have put some Clob datatype column in our project we have the error
below. We are using a quit important transaction with many Clob in columns.
Our Clob datas are not so important (Max = 6000 characters in the same
column).

 

It is quite weird. We are under Oracle 9i, OjbRc5. The connection reset
without any explanation..

 

One of our table script creation is : 

 

CREATE TABLE DST_DESC (

DST_TABLE_PK VARCHAR(255) NOT NULL,

DST_ID_PK NUMBER NOT NULL, DST_CODE_LANG_PK VARCHAR(5) NOT NULL,

DST_DESC CLOB, DST_LABEL VARCHAR(255) NOT NULL,

CONSTRAINT pk_JWT_DST_DESC1 PRIMARY KEY
(DST_TABLE_PK,DST_ID_PK,DST_CODE_LANG_PK))  

LOB("DST_DESC") STORE AS (DISABLE STORAGE IN ROW CACHE)

 

 

Any help would be appreciated.

 

[org.apache.ojb.broker.accesslayer.JdbcAccessImpl] ERROR: SQLException
during the execution of the insert (for a
com.jware.jwf.scf.jwt.jdo.JWT_too_tool): Exception d'E/S: Connection reset

Exception d'E/S: Connection reset

java.sql.SQLException: Exception d'E/S: Connection reset

      at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)

      at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)

      at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:334)

      at
oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2150
)

      at
oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2015)

      at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java
:2877)

      at
oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedState
ment.java:608)

      at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImp
l.java:236)

      at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBroker
Impl.java:1384)

      at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl
.java:1301)

      at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl
.java:1261)

      at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersi
stenceBroker.java:171)

      at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersi
stenceBroker.java:171)

      at
org.apache.ojb.odmg.states.StateNewDirty.commit(StateNewDirty.java:148)

      at
org.apache.ojb.odmg.ObjectEnvelopeTable.commitAllEnvelopes(ObjectEnvelopeTab
le.java:241)

      at
org.apache.ojb.odmg.ObjectEnvelopeTable.commit(ObjectEnvelopeTable.java:195)

      at
org.apache.ojb.odmg.TransactionImpl.doCommitOnObjects(TransactionImpl.java:3
35)

      at
org.apache.ojb.odmg.TransactionImpl.prepare(TransactionImpl.java:656)

      at
org.apache.ojb.odmg.TransactionImpl.commit(TransactionImpl.java:613)

      at com.jware.jwf.scf.jwt.dbs.JWTDbs.importSite(JWTDbs.java:1207)

      at
com.jware.jwf.jsi.InstallStarter.importConfig(InstallStarter.java:109)

      at com.jware.jwf.jsi.InstallStarter.run(InstallStarter.java:73)

java.sql.SQLException: Exception d'E/S: Connection reset

      at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)

      at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)

      at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:334)

      at
oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2150
)

      at
oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2015)

      at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java
:2877)

      at
oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedState
ment.java:608)

      at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImp
l.java:236)

      at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBroker
Impl.java:1384)

      at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl
.java:1301)

      at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl
.java:1261)

      at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersi
stenceBroker.java:171)

      at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersi
stenceBroker.java:171)

      at
org.apache.ojb.odmg.states.StateNewDirty.commit(StateNewDirty.java:148)

      at
org.apache.ojb.odmg.ObjectEnvelopeTable.commitAllEnvelopes(ObjectEnvelopeTab
le.java:241)

      at
org.apache.ojb.odmg.ObjectEnvelopeTable.commit(ObjectEnvelopeTable.java:195)

      at
org.apache.ojb.odmg.TransactionImpl.doCommitOnObjects(TransactionImpl.java:3
35)

      at
org.apache.ojb.odmg.TransactionImpl.prepare(TransactionImpl.java:656)

      at
org.apache.ojb.odmg.TransactionImpl.commit(TransactionImpl.java:613)

      at com.jware.jwf.scf.jwt.dbs.JWTDbs.importSite(JWTDbs.java:1207)

      at
com.jware.jwf.jsi.InstallStarter.importConfig(InstallStarter.java:109)

      at com.jware.jwf.jsi.InstallStarter.run(InstallStarter.java:73)

rethrown as org.apache.ojb.broker.PersistenceBrokerSQLException: Exception
d'E/S: Connection reset

      at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImp
l.java:265)

      at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBroker
Impl.java:1384)

      at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl
.java:1301)

      at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl
.java:1261)

      at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersi
stenceBroker.java:171)

      at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersi
stenceBroker.java:171)

      at
org.apache.ojb.odmg.states.StateNewDirty.commit(StateNewDirty.java:148)

      at
org.apache.ojb.odmg.ObjectEnvelopeTable.commitAllEnvelopes(ObjectEnvelopeTab
le.java:241)

      at
org.apache.ojb.odmg.ObjectEnvelopeTable.commit(ObjectEnvelopeTable.java:195)

      at
org.apache.ojb.odmg.TransactionImpl.doCommitOnObjects(TransactionImpl.java:3
35)

      at
org.apache.ojb.odmg.TransactionImpl.prepare(TransactionImpl.java:656)

      at
org.apache.ojb.odmg.TransactionImpl.commit(TransactionImpl.java:613)

      at com.jware.jwf.scf.jwt.dbs.JWTDbs.importSite(JWTDbs.java:1207)

      at
com.jware.jwf.jsi.InstallStarter.importConfig(InstallStarter.java:109)

      at com.jware.jwf.jsi.InstallStarter.run(InstallStarter.java:73)

Caused by: java.sql.SQLException: Exception d'E/S: Connection reset

      at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)

      at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)

      at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:334)

      at
oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2150
)

      at
oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2015)

      at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java
:2877)

      at
oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedState
ment.java:608)

      at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImp
l.java:236)

      ... 15 more

 [org.apache.ojb.broker.accesslayer.ConnectionManagerImpl] ERROR: Rollback
on the underlying connection failed

Exception d'E/S: Connection reset by peer: socket write error

[org.apache.ojb.broker.platforms.PlatformDefaultImpl] ERROR: Set
autoCommit(true) failed

Exception d'E/S: Connection reset by peer: socket write error

      at
com.jware.jwf.scf.persistence.ojb.JwtTransactionImpl.commit(JwtTransactionIm
pl.java:138)

      at com.jware.jwf.scf.jwt.dbs.JWTDbs.importSite(JWTDbs.java:1207)

      at
com.jware.jwf.jsi.InstallStarter.importConfig(InstallStarter.java:109)

      at com.jware.jwf.jsi.InstallStarter.run(InstallStarter.java:73)

 

 

 

 

 


RE : Clob : Coonection reset (??)

Posted by Emmanuel DUPONT <em...@jwaretechnologies.com>.
Thanks to you a lot !!


-----Message d'origine-----
De : Martin Kalén [mailto:martin.kalen@curalia.se] 
Envoyé : jeudi 26 février 2004 00:55
À : OJB Users List
Objet : Re: Clob : Coonection reset (??)

Emmanuel DUPONT wrote:
> Since we have put some Clob datatype column in our project we have the
error
> below. We are using a quit important transaction with many Clob in
columns.
> Our Clob datas are not so important (Max = 6000 characters in the same
> column).
> 
> It is quite weird. We are under Oracle 9i, OjbRc5. The connection reset
> without any explanation..
[...]
> 
> java.sql.SQLException: Exception d'E/S: Connection reset
>       at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
>       at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
>       at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:334)
>       at
>
oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2150
)

This is seen with Oracle thin driver and CLOB/BLOB values larger than 4kB.

OJB 1.0RC5 will try to do a direct insert of the value in the Locator 
Object (LOB)-column, which is not supported by the Oracle thin driver. 
The LOB is supposed to be a pointer to the LOB-storage containing the 
value, but you can squeeze up to 4000 bytes of data into this pointer.

You have two options to work around this:
1. Use Oracle OCI (if you have an Oracle Client installation on the 
machine running OJB)

2. Update to OJB from CVS HEAD and use the new "Oracle9i" platform which 
supports Oracle-style inserts of large LOB values with the thin driver. 
If you switch to this platform both thin and OCI will work, but only OCI 
will support batch-mode="true".

-- 
Martin Kalén
Curalia AB              Web:  http://www.curalia.se
Orrspelsvägen 2B        Mail: info@curalia.se
SE-182 79  Stocksund    Tel:  +46-8-410 064 40


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: Clob : Coonection reset (??)

Posted by Martin Kalén <ma...@curalia.se>.
Emmanuel DUPONT wrote:
> Since we have put some Clob datatype column in our project we have the error
> below. We are using a quit important transaction with many Clob in columns.
> Our Clob datas are not so important (Max = 6000 characters in the same
> column).
> 
> It is quite weird. We are under Oracle 9i, OjbRc5. The connection reset
> without any explanation..
[...]
> 
> java.sql.SQLException: Exception d'E/S: Connection reset
>       at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
>       at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
>       at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:334)
>       at
> oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2150)

This is seen with Oracle thin driver and CLOB/BLOB values larger than 4kB.

OJB 1.0RC5 will try to do a direct insert of the value in the Locator 
Object (LOB)-column, which is not supported by the Oracle thin driver. 
The LOB is supposed to be a pointer to the LOB-storage containing the 
value, but you can squeeze up to 4000 bytes of data into this pointer.

You have two options to work around this:
1. Use Oracle OCI (if you have an Oracle Client installation on the 
machine running OJB)

2. Update to OJB from CVS HEAD and use the new "Oracle9i" platform which 
supports Oracle-style inserts of large LOB values with the thin driver. 
If you switch to this platform both thin and OCI will work, but only OCI 
will support batch-mode="true".

-- 
Martin Kalén
Curalia AB              Web:  http://www.curalia.se
Orrspelsvägen 2B        Mail: info@curalia.se
SE-182 79  Stocksund    Tel:  +46-8-410 064 40


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org