Hi Max,

there is a workaround for this problem.
Checkout last version of ConnectionManagerImpl.

Then it should be possible to disable batch-mode
with batch-mode="false"

regards,
Armin

----- Original Message -----
From: "Geigl Maximilian, R235" <[EMAIL PROTECTED]>
To: "OJB Users List" <[EMAIL PROTECTED]>
Sent: Tuesday, March 25, 2003 3:41 PM
Subject: [MAPPING] Problem committing inertst on LONG fields


Hallo,

OJB version: 1.0rc1
DBMS: Oracle 8.1.7.4.1
JDBC driver: Oracle thin driver 8.1.7.4.0 (taken from the 8.1.7.4.1
Patch) - by the way: same problem with 8.1.7.0.0 an 8.1.7.1.0

I have two inserts each on a table with a LONG field. When I commit the
transaction i get the following exception:

2003-03-25 08:39:37,975 [HttpProcessor[80][3]] ERROR
org.apache.ojb.odmg.ObjectEnvelopeTable PC-10-SONNAUJ.AKDB.NET - Commit
on object level failed for tx [EMAIL PROTECTED]
java.sql.SQLException: Vorgang nicht zul�ssig: streams type cannot be
used in batching
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210)
at
oracle.jdbc.driver.OraclePreparedStatement.addBatch(OraclePreparedStatem
ent.java:2781)
at java.lang.reflect.Method.invoke(Native Method)
at
org.apache.ojb.broker.util.batch.PreparedStatementInvocationHandler.doEx
ecute(Unknown Source)
at
org.apache.ojb.broker.util.batch.PreparedStatementInvocationHandler.invo
ke(Unknown Source)
at $Proxy0.doExecute(Unknown Source)
at org.apache.ojb.broker.util.batch.BatchConnection.executeBatch(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.executeBatch(Unk
nown Source)
at org.apache.ojb.odmg.ObjectEnvelopeTable.commit(Unknown Source)
at org.apache.ojb.odmg.TransactionImpl.doCommitOnObjects(Unknown Source)
at org.apache.ojb.odmg.TransactionImpl.prepare(Unknown Source)
at org.apache.ojb.odmg.TransactionImpl.commit(Unknown Source)
at
de.akdb.ok.komm.persistence.OdmgTransactionImpl.commit(OdmgTransactionIm
pl.java:71)
at
de.akdb.ok.komm.service.AbstractService.destroy(AbstractService.java:76)
[...]

Although I set batch-mode="false" in the repository, OJB seems to
override this setting an uses batching. As far as i understand, the
Oracle JDBC driver cannot use batching with LONG field.

So my question: can anyone tell me, how i can carry out more than one
insert/update/delete on tables with LONG fields in one transaction? Or
how can i prevent OJB from using batching (as batch-mode="false" doesn't
seem to enforce this)?
Or did i get the whole thing completely wrong?

Thanks in advance

Max




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to