Re: Prepared-to-Commit from OCI

From: Dave Dargo <ddargo_at_us.oracle.com>
Date: 1995/12/20
Message-ID: <4b9kfp$541_at_inet-nntp-gw-1.us.oracle.com>#1/1


berndl_at_sidonius.uni-passau.de (Klaus Berndl) writes:

>Dear OCI-experts,
>
>i have to integrate Oracle in a heterogenous DB-environment. Please look at
>the following situation-example for further explanations:
>
>At global level i have a Transaction (TA):
>
>Begin-TA
> modify(oracle_1, "update table_1 set...")
> modify(informix_1, "update table_3 set...")
> modify(oracle_1, "update table_2 set...") (++)
> modify(informix_1, "update table_4 set...")
> modify(informix_1, "delete from table_4...")
>Commit-TA (*)
>
>('modify' is a function which processes any modifications on the databases.)
>
>
>In case of Oracle the whole interface should be implemented with OCI.
>For all OCI-Routines i can reach an error-number if anything fails.
>Now look at the following case: The last modify for oracle_1 (++) indicates
>no error at time (++), but i can only commit the oracle_1-TA
>at time (*), because an atomic global commit is required!
>
>Now my question: Can i get somehow a 'Prepared-to-commit' from OCI at time (*)
> (perhaps a long time after the last OCI-function for oracle_1-TA has
>succeded), so that i can either call 'ocom' or 'orol' for the oracle_1-TA?
>(Reading the 'return-code'-field of the 'lda'-structure, which belongs to the
>oracle_1-connection, at time (*) was my first idea.)
>
>
>Ciao,
>
> KLaus Berndl
>

Another method is to use the Oracle Transparent Gateway for Informix. This will allow you to connect to Oracle, issue all update requests through Oracle and have Oracle handle the two-phase commit between Oracle and Informix by simply issuing a commit statement to Oracle.

Dave (ddargo_at_us.oracle.com) Received on Wed Dec 20 1995 - 00:00:00 CET

Original text of this message