When I run Business Process Manager JDBC XA transactions against Microsoft SQL Server 2008 on a Windows Server 2008 cluster, why do I run into an issue with the Microsoft Distributed Transaction Coordinator (MS DTC)?
You might see an error similar to the following text in the SystemOut.log file:
WTRN0078E: An attempt by the transaction manager to call start on a transactional resource has resulted in an error. The error code was XAER_RMERR. The exception stack trace follows:
javax.transaction.xa.XAException: com.microsoft.sqlserver.jdbc.SQLServerException: Failed to enlist. Error: "Import of Microsoft Distributed Transaction Coordinator (MS DTC) transaction failed: 0x8004d00e(XACT_E_NOTRANSACTION)."
This problem is related to Microsoft SQL Server databases on Microsoft Windows Server 2008 because previous versions of the Windows Server Edition had only one DTC Service in a cluster. With Windows Server 2008, each member can have its own DTC Service. This difference is either the application requesting a transaction has to specify which DTC to use or you have to create a mapping, which is the case for all Java™ Database Connectivity (JDBC)-based transactions.
Resolving the problem
Follow the instructions for the Microsoft operating system and the database product. Refer to the following documents for the Microsoft DTC configuration:
Understanding MS DTC Resources in Windows Server 2008 Failover Clusters - http://technet.microsoft.com/en-us/library/cc730992(WS.10).aspx
Map Clustered MS DTC Resources - http://technet.microsoft.com/en-us/library/cc742483(WS.10).aspx
|Business Integration||IBM Business Process Manager Express||General||Linux, Linux zSeries, Windows||8.0, 126.96.36.199, 7.5.1, 188.8.131.52, 7.5|
|Business Integration||IBM Business Process Manager Standard||General||AIX, Linux, Linux zSeries, Solaris, Windows||8.0, 184.108.40.206, 7.5.1, 220.127.116.11, 7.5|
Business Process Manager