Исключение из-за ограничения адаптера БД Oracle Oracle при записи в две таблицы - внезапно нарушено

У меня есть процесс Oracle BPEL, работающий в WebLogic, который записывает в две таблицы с использованием адаптеров базы данных.

Есть две таблицы, TableA и TableB. TableB имеет внешний ключ для TableA.

В процессе я создаю запись в таблице A с A_ID. Когда я создаю запись в TableB, используя A_ID в качестве FK, я получаю исключение ограничения.

Что странно, это работало на прошлой неделе, и теперь, используя те же данные, я получаю сообщение об ошибке.

Источник данных настроен как стандартный - источник данных не-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 ответ

Это не имеет ничего общего с Oracle BPEL. По какой-то причине либо вставка в таблицу A не удалась, либо вставка в таблицу A не видна в таблице B (вторая вставка находится в другой транзакции).

Другие вопросы по тегам