请教一个MSDTC 事务管理器无法从源事务管理器提取事务的问题
熊爸天 2017-05-26 05:06:19 大家好,我的一个应用系统在执行时报出如下错误:由于通信问题,MSDTC 事务管理器无法从源事务管理器提取事务。可能原因如下: 存在防火墙并且没有 MSDTC 进程的例外、两台计算机根据其 NetBIOS 名称无法找到彼此,或未对于两个事务管理器之一启用网络事务支持。 (异常来自 HRESULT:0x8004D02B)
服务器是windows server 2008 r2的,数据库是sqlserver 2014。
自行百度的很多方法都试过:试过设置msdtc组件服务,试过手工配置hosts文件,试过重装msdtc,然而都没有效果,附上详细报错信息,还望各位大神指教!
Exception Summary:
----------------------------
Message: Error(s) Occurred while processing the Invoices.
Error Stack:
----------------------------
Exception: Error(s) Occurred while processing the Invoices.
Type: Debis.Framework.ExceptionSpecialized.ExceptionCollectionBase
Source: Debis.Finance.Invoicing.BLInvoiceAuthorize
Source Type: Debis.Finance.Invoicing.BLInvoiceAuthorize
Sub Exceptions:
Exception Summary:
----------------------------
Message: 由于通信问题,MSDTC 事务管理器无法从源事务管理器提取事务。可能原因如下: 存在防火墙并且没有 MSDTC 进程的例外、两台计算机根据其 NetBIOS 名称无法找到彼此,或未对于两个事务管理器之一启用网络事务支持。 (异常来自 HRESULT:0x8004D02B)
Error Stack:
----------------------------
Exception: 17MD000003: Cannot process the Invoice
Type: Debis.Finance.Invoicing.InvoiceException
Source: Debis.Finance.Invoicing.BLInvoiceAuthorize
Source Type: Debis.Finance.Invoicing.BLInvoiceAuthorize
Info: Invoice: 17MD000003
Call Stack:
----------------------------
Exception: 与基础事务管理器的通信失败。
Type: System.Transactions.TransactionManagerCommunicationException
Source: System.Transactions
Call Stack:
在 System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken)
在 System.Transactions.TransactionStatePSPEOperation.PSPEPromote(InternalTransaction tx)
在 System.Transactions.TransactionStateDelegatedBase.EnterState(InternalTransaction tx)
在 System.Transactions.EnlistableStates.Promote(InternalTransaction tx)
在 System.Transactions.Transaction.Promote()
在 System.Transactions.TransactionInterop.ConvertToOletxTransaction(Transaction transaction)
在 System.Transactions.TransactionInterop.GetExportCookie(Transaction transaction, Byte[] whereabouts)
在 System.Data.SqlClient.SqlInternalConnection.GetTransactionCookie(Transaction transaction, Byte[] whereAbouts)