Wednesday, 19 February 2014

java.sql.SQLSyntaxErrorException: ORA-02089: COMMIT is not allowed in a subordinate session

Hi Guys....

I had faced different scenario in SOA

Scenario:- We are trying to call a stored Proc in BPEL and it is errored out as it is passing when you retry it.

While trying to call a stored procedure from Oracle SOA 11g BPEL to EBS it throws below error
"java.sql.SQLSyntaxErrorException: ORA-02089: COMMIT is not allowed in a subordinate session".

This error happens when there is a commit in the stored proc and that BPEL is using XA transaction.
If you are using Global Transactions (XA) in your DB Adapter then the commit will happen only after the BPEL process completes.

To avoid the above error :

1. Make sure you don't have explicit commits within the stored procedure as BPEL tries to manage the transaction commit and there is a conflict if the stored proc. has an explicit commit inside it.

2. You can use local transactions (non-XA) in your DB Adapter if you don't want to wait till the process is over for the commit to happen.

Happy Learning...!!!!!!   Fun Sharing....!!!!!!!!!

No comments:

Post a Comment