ORA-06519:检测并回滚活动自治事务

时间:2017-11-08 16:53:53

标签: java oracle plsql

我正在尝试在java函数中进行一些DML操作。并得到错误。

首先,我打开连接并执行DML。 然后在同一个函数中,我调用的程序使用相同的表进行DML操作。程序中有commit语句。

我正在使用XA oracle数据源,因此启用了自动提交,我不需要在java中进行提交。

但是我得到的是ORA-06519:检测到活动的自治事务并回滚。我无法在java中指定commit选项,因为它会给出错误。

任何人都可以帮助我。

1 个答案:

答案 0 :(得分:0)

在功能和程序的开头使用pragma serially_reusable,如下所示:

  

创建或替换程序pr_dml_operation

     

pragma serially_reusable;
        v_abc_1号码;
        v_def_2 date;

    ...
  的开始

     

...

     

...

     

<强>端

顺便说一句,从不在您存储的编程块中使用 提交 语句。外部问题。否则,它可能会损坏您的某些 dml 操作的 交易完整性