COMException (0x8004d00e):

场景:MSDTC 分布式事务异常:[COMException (0x8004d00e): 此事务已明地或暗地被确认或终止 (错误来自 HRESULT

MSDTC 分布式事务错误:[COMException (0x8004d00e): 此事务已明地或暗地被确认或终止 (异常来自 HRESULT:0x8004D00E)]
//   堆栈信息
[COMException   (0x8004d00e):   此事务已明地或暗地被确认或终止   (异常来自   HRESULT:0x8004D00E)]
      System.Transactions.Oletx.ITransactionShim.Export(UInt32   whereaboutsSize,   Byte[]   whereabouts,   Int32&   cookieIndex,   UInt32&   cookieSize,   CoTaskMemHandle&   cookieBuffer)   +0
      System.Transactions.TransactionInterop.GetExportCookie(Transaction   transaction,   Byte[]   whereabouts)   +237

[TransactionException:   事务已被隐式或显式提交,或已终止。]
      System.Transactions.Oletx.OletxTransactionManager.ProxyException(COMException   comException)   +412
      System.Transactions.TransactionInterop.GetExportCookie(Transaction   transaction,   Byte[]   whereabouts)   +292
      System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction   tx)   +527
      System.Data.SqlClient.SqlInternalConnection.Enlist(Transaction   tx)   +801124
      System.Data.SqlClient.SqlInternalConnectionTds.Activate(Transaction   transaction)   +795031
      System.Data.ProviderBase.DbConnectionInternal.ActivateConnection(Transaction   transaction)   +30
      System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection   owningObject)   +1205
      System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection   owningConnection)   +82
      System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection   outerConnection,   DbConnectionFactory   connectionFactory)   +105
      System.Data.SqlClient.SqlConnection.Open()   +111
      Enhua.RS.SQLServerDAL.TemplateDb.DeleteTemplate(Int32   templateId)   in   E:\NHRS\NHRSWeb\SQLServerDAL\TemplateDb.cs:248   //   异常起点,在这里   !!!!!

//   出错代码
//   以上省略若干   TranactionScope   详细声明
  foreach   (DataRow   r   in   rows)   {
行   247:                                         using   (SqlConnection   conn   =   new   SqlConnection(r[ "ConnectionString "].ToString()))   {
行   248:                                                 conn.Open();           //   Open   的时候就丢出异常了!!!!!
行   249:                                                 SqlCommand   cmd   =   conn.CreateCommand();
行   250:                                                 foreach   (DataRow   jrow   in   dsTpl.Tables[0].Rows)   {

//   环境
IIS   与   SQL   同一台服务器没有问题,

【不同服务器】就出问题了

两台服务器均是   win   2k3   sp2,

之前   sp1   是可以正常访问的,刚打   SP2   就遭了

估计是   sp2   增加了某些安全性,不知如何配置?

baidu/google   都尝试了均无方案   ....


Thx!


------解决方案--------------------
以前听说过,这和SQL没有关系,据说是该window下一个hosts文件,LZ可以顺着这个思路继续研究~
------解决方案--------------------
哦,恭喜楼主已经解决了
------解决方案--------------------
恭喜LZ,host,呵呵~
------解决方案--------------------
没事了,jf
------解决方案--------------------
也可以使用Dtcping来测试2台机器之间是否能通

同时2台机器之间必须能ping的通hostname,否则msdtc也是不起作用的
------解决方案--------------------
来接分
------解决方案--------------------
hosts 文件是必须要修改的,因为msdtc需要name resolution是没有问题的,我想是不是因为sp1时你已经设置了hosts,而打了sp2后,就被ms给打没了呢?