During our Migration from Oracle DB to Azure SQL Database service, we encountered the below exception for XA Distributed Transactions.
javax.transaction.xa.XAException: com.microsoft.sqlserver.jdbc.SQLServerException: Failed to create the XA control connection. Error: "Reference to database and/or server name in 'master..xp_sqljdbc_xa_init_ex' is not supported in this version of SQL Server."
at com.microsoft.sqlserver.jdbc.SQLServerXAResource.DTC_XA_Interface(SQLServerXAResource.java:738) [mssql-jdbc-8.2.2.jre8.jar:]
at com.microsoft.sqlserver.jdbc.SQLServerXAResource.start(SQLServerXAResource.java:772) [mssql-jdbc-8.2.2.jre8.jar:]
at org.jboss.jca.adapters.jdbc.xa.XAManagedConnection.start(XAManagedConnection.java:263)
at org.jboss.jca.core.tx.jbossts.XAResourceWrapperImpl.start(XAResourceWrapperImpl.java:215)
at org.jboss.jca.core.tx.jbossts.XAResourceWrapperStatImpl.start(XAResourceWrapperStatImpl.java:176)
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:661)
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:422)
at org.wildfly.transaction.client.LocalTransaction.enlistResource(LocalTransaction.java:168)
at org.jboss.jca.core.connectionmanager.listener.TxConnectionListener$TransactionSynchronization.enlist(TxConnectionListener.java:987)
at org.jboss.jca.core.connectionmanager.listener.TxConnectionListener.enlist(TxConnectionListener.java:379)
at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.managedConnectionReconnected(TxConnectionManagerImpl.java:564)
at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.reconnectManagedConnection(AbstractConnectionManager.java:977)
at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:792)
at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:151)
at org.jboss.as.connector.subsystems.datasources.WildFlyDataSource.getConnection(WildFlyDataSource.java:64)
at com.unisys.trans.shared.util.jdbc.DataBaseConnectionMngr.createNewProperties(DataBaseConnectionMngr.java:540)
at com.unisys.trans.shared.util.jdbc.DataBaseConnectionMngr.getProperty(DataBaseConnectionMngr.java:362)
at com.unisys.trans.shared.util.jdbc.DataBaseConnectionMngr.getStatement(DataBaseConnectionMngr.java:216)
at com.unisys.trans.shared.util.jdbc.FactoryFinderBase.getFactoryForCurrentThread(FactoryFinderBase.java:117)