Migrating from 3.0.4 to 3.2.1 and there is one last chuck of code thats
not working. Specifically, a DataSource is gotten via jndi and it is used
to insert a new row in a table returning a CLOB locator which is then
used to store a clob. This code works in 3.0.4 even though the connection
has autocommit set to true (by jboss) and, in theory, one can not have
autocommit true and save a LOB across a transaction boundary.
Well in 3.2.1, autocommit is also true, but the code fails with the message:
Caused by: java.io.IOException: ORA-22990: LOB locators cannot span transactions
at oracle.jdbc.dbaccess.DBError.SQLToIOException(DBError.java:716)
at oracle.jdbc.driver.OracleClobWriter.flushBuffer(OracleClobWriter.java:270)
at oracle.jdbc.driver.OracleClobWriter.flush(OracleClobWriter.java:204)
.....
Oh yea, the MDB is set up with a 'Container' transaction type which I
assume means that all actions are within the same transaction, i.e.,
autocommit should be false.
What to do?? thanks.
Richard