Skip to Main Content

Integration

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ORA-02089: COMMIT is not allowed in a subordinate session

pedro.dantasDec 14 2010 — edited Dec 16 2010
Hi guys,

My scenario is: I have a bunch of stored procedures mapped as physical data services in ODSI. Now I'm developing a logical service with some operations. Each operation involves calling a few of the procedures (physical services). When I tried to run it, I got the error

ORA-02089: COMMIT is not allowed in a subordinate session

Researching a bit, I found out that it happened because the procedures had inner commit statements, and because I'm using a transactional driver with the logical service, the commit causes it to raise an error.
Changing the procedures (so they no longer state commits) is not an option. The way I see it, the only other option would be to change the driver to a non-transactional one - each physical service (procedure) would have and transaction of it own. Off course, this means I would lost the atomicity of my logical services, since one procedure could commit and the other not. Any thoughts on the matter?

Thanks in advance,

Pedro Ivo
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jan 13 2011
Added on Dec 14 2010
7 comments
12,626 views