我在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>
答案 0 :(得分:0)
这与Oracle BPEL无关。由于某种原因,表A上的插入不成功或表A中的插入对表B不可见(第二个插入处于不同的事务中)。