ORA-02089: COMMIT is not allowed in a subordinate session
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