Hi,
I use EJB(Session Bean) to manage distributed transaction by both CMT and BMT.
I have no problem to update AIX and WIN Db2 in a transaction. But when I update OS390 DB2 and AIX/WIN Db2 in a transaction, even I just update OS390 DB2 in a transaction using EJB, at first time, I can see the result of updating OS 390 DB2, but when the program reached ut.commit(); (2 phase commit), I got an Exception :javax.transaction.RollbackException in the program.
at EJB
test console I got follow error message:
Exception is:
java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
com.ibm.ejs.container.UncheckedException: ; nested exception is:
java.lang.IllegalStateException: org.omg.CosTransactions.NoTransaction
When I run the EJB again, when the program reached Statement stmt = conn.createStatement();
I got the Exception as follow:
COM.ibm.db2.jdbc.DB2Exception: [IBM][
JDBC Driver] CLI0601E Invalid statement handle or statement is closed. SQLSTATE=S1000
From the error message and exception, I am quite sure the problem is OS 390 does not support 2 phase commit. From the document from IBM, DB2 connector using TCP/IP does not need any configure to support 2 phase commit. Do we need any configuration on DB2 connector? Or What is my problem?
Thanks
adam
[ July 02, 2002: Message edited by: Adam Ttj ]