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(OraclePreparedStatement.java:2781)
        at java.lang.reflect.Method.invoke(Native Method)
        at 
org.apache.ojb.broker.util.batch.PreparedStatementInvocationHandler.doExecute(Unknown 
Source)
        at 
org.apache.ojb.broker.util.batch.PreparedStatementInvocationHandler.invoke(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(Unknown 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(OdmgTransactionImpl.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

Reply via email to