Getting 2 phase commit exception with SQL server and DB2 datasources....
Joined: Apr 23, 2008
Hi, I am using 2 datasources. one for SQL server(XA datasource)and another for DB2(not an XA).
In the particular transaction, our code gets nearly 3 connections using getConnection of XA datasource and 2 connections using DB2 datasource. Getting the following exception when the transaction is about to commit: "An illegal attempt to commit a one phase capable resource with existing two phase capable resources has occurred." Is it required to close all connections before committing?
Could you pls help me out of this problem soon??? Thanks in advance.
Joined: Mar 22, 2005
Welcome to JavaRanch.
What does "nearly 3 connections" mean? 2? 3? Why does the code get more than one connection per datasource inside of a single transaction?
Is it required to close all connections before committing?
If a connection is closed, all pending transactions are rolled back - probably not what you want.
It sounds as if the code is trying to use an XA transaction with a non-XA capable datasource. Can the code get an XA-capable connection for DB2 as well?