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给打没了呢?
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给打没了呢?