Hi,

had a similar problem and it is solved (see Armin Waibels suggestion below):

Regards
Max

--------------------------------------------------------
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]


> -----Urspr�ngliche Nachricht-----
> Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Gesendet: Dienstag, 1. April 2003 14:14
> An: [EMAIL PROTECTED]
> Betreff: How to switch off batch updates completely
> 
> 
> Hello,
> 
> I have found the batch-mode attribute in the 
> jdbc-connection-descriptor.
> Unfortunately, it does not switch off batches completely.  In class
> org.apache.ojb.odmg.ObjectEnvelopeTable, line 177 ff there is:
> 
>             // 0. turn on the batch mode
>             connMan.setBatchMode(true); // oma: false instead 
> of true works
> around a bug in Sybase ASE
> 
>             // 1. upgrade implicit locks.
>             upgradeImplicitLocksAndCheckIfCommitIsNeeded();
> 
>             // 2. Reorder objects
>             reorder();
> 
>             // 3. commit objects.
>             commitAllEnvelopes(broker);
> 
>             // 4. execute batch
>             connMan.executeBatch();
> 
> I would like to be able to switch off batching completely in order to
> work around sybase known issue #202534, see 
> http://manuals.sybase.com/onlinebooks/group-jc/jcg0420e/jcon52
rb/@Generic__B
ookTextView/670


Can somebody explain why the batch-mode setting is overridden in this
context?

Thank you for any hints,
        Olli
        

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


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

Reply via email to