在两个表中写入时,Oracle BPEL DB Adapter约束异常 - 突然中断

时间:2014-02-20 15:52:19

标签: oracle transactions bpel

我在WebLogic上运行了一个Oracle BPEL流程,该流程使用数据库适配器在两个表中编写。

有两个表,TableA和TableB。 TableB具有TableA的外键。

我在进程中使用A_ID在TableA中创建了一个条目。当我使用A_ID作为FK在TableB中创建一个条目时,我得到一个约束异常。

奇怪的是,这在上周和现在有效,使用相同的数据,我得到了错误。

数据源设置为标准 - 非XA数据源。

这是抛出的异常:

<env:Fault>
     <faultcode>env:Server</faultcode>
     <faultstring>Exception occured when binding was invoked.
      Exception occured during invocation of JCA binding: "JCA Binding execute of
      Reference operation 'insert' failed due to: DBWriteInteractionSpec Execute
      Failed Exception.
      insert failed. Descriptor name: [Datawarehouse.TableB].
      Caused by java.sql.BatchUpdateException: ORA-02291: integrity constraint 
      (DWH.TABLE_A_FK) violated - parent key not found
      .
      ". 
      The invoked JCA adapter raised a resource exception.
      Please examine the above error message carefully to determine a  resolution.
      </faultstring>
      <faultactor/>
      <detail>
        <exception>ORA-02291: integrity constraint (DWH.TABLE_A_FK) violated -     parent key not found</exception>
     </detail>
  </env:Fault>

1 个答案:

答案 0 :(得分:0)

这与Oracle BPEL无关。由于某种原因,表A上的插入不成功或表A中的插入对表B不可见(第二个插入处于不同的事务中)。