On MS SQL Server a Linked Server to the Oracle Database using OLE DB cannot initiate a Distributed Transaction returning this error:
Server: Msg 7391, Level 16, State 1, Line 5
The operation could not be performed because the OLE DB provider 'MSDAORA' was
unable to begin a distributed transaction.
OLE DB error trace [OLE/DB Provider 'MSDAORA' ITransactionJoin::JoinTransaction
There is a change introduced by the Service Pack1 regarding the MSDTC behaviour:
The XA Transactions mechanism is passed from enabled by default to disabled by default.
Without XA Transactions enabled, no Distributed transaction to a target using XA could be initiated
See http://support.microsoft.com/default.aspx?scid=kb;en-us;817066 for more information.
To implement the solution follow this steps:
1.Open Component Services.
2.Expand the tree view to locate the computer where you want to turn on support for XA transactions (for example, My Computer).
3.Right-click the computer name, and then click Properties.
4.Click the MSDTC tab, and then click Security Configuration.
5.Under Security Settings, click to select the check box for XA Transactions to turn on this support.
来自 “ ITPUB博客 ” ，链接：http://blog.itpub.net/35489/viewspace-598370/，如需转载，请注明出处，否则将追究法律责任。