During deployment of an application using distributed transactions managed
under COM+ on an Oracle 9i RAC database, we encounter situations where the
load balancing mechanisms in the RAC result in that the component context in
the distributed transaction (in our case two different COM components)
cannot hold onto the same ODBC connection. Or it may be that the database
session is changed dynamically for the ODBC connection, so that component 2
in the transaction cannot read updates made by component 1 in the
transaction.
Originally we use MS ODBC driver for Oracle (2.573.9030.00) , and Oracle XA
(9.2.0.1.0). We have investigated Oracle's ODBC driver (9.02.00) ,
EasySoft's ODBC driver and DataDirect's ODBC driver to find if any of these
can ensure that the same session is held for the connection during the
entire lifetime of the transaction. It seems that BEA with WebLogic has
solved the solution with their JDBC connection pool configuration (parameter
KeepXAConnTillTXComplete).
Has anyone else run into this problem and found a solution or work-around?
According to Oracle's promo documents no application changes should be
needed for using the RAC option.
Br,
Eirik