0 Replies Latest reply on May 22, 2003 7:49 PM by rme

    3.0.4->3.2.1 DataSource autocommit diff

    rme Newbie

      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