[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!
11 个解决方案
#1
以前听说过,这和SQL没有关系,据说是该window下一个hosts文件,LZ可以顺着这个思路继续研究~
#2
cnblogs 上有位网友也说的这个 host, 但是不晓得是虾米哦, 也没有说具体如何操作
狂郁闷中 ...
狂郁闷中 ...
#3
神了,似乎可以了,竟然又跑起来了 :)
处理方法:
在数据库服务器(MS SQL)上的 hosts 文件中加入 Web 服务器(IIS) 的 IP 和 主机名 映射对
1.
定位到 C:\WINDOWS\system32\drivers\etc 目录
2.
记事本打开 hosts 文件(没有扩展名)
3.
添加一行 Web 服务器 IP 和 主机名映射, 如
10.10.1.118 MyWebServerHostName
4.
OK!
处理方法:
在数据库服务器(MS SQL)上的 hosts 文件中加入 Web 服务器(IIS) 的 IP 和 主机名 映射对
1.
定位到 C:\WINDOWS\system32\drivers\etc 目录
2.
记事本打开 hosts 文件(没有扩展名)
3.
添加一行 Web 服务器 IP 和 主机名映射, 如
10.10.1.118 MyWebServerHostName
4.
OK!
#4
哦,恭喜楼主已经解决了
#5
恭喜LZ,host,呵呵~
#6
没事了,jf
#7
也可以使用Dtcping来测试2台机器之间是否能通
同时2台机器之间必须能ping的通hostname,否则msdtc也是不起作用的
同时2台机器之间必须能ping的通hostname,否则msdtc也是不起作用的
#8
来接分
#9
完全是 MSDTC 新手,碰到问题就卡壳了 @_@
幸好这世界有样东东叫【搜索引擎】 :)
晚上回学校结帖 ~
幸好这世界有样东东叫【搜索引擎】 :)
晚上回学校结帖 ~
#10
@Night
有个问题,为什么之前 win2k3 sp1 不需要,这项修改 hosts 的工作呢?
不过,之前测试的 Web 服务器是 xp sp2, DB 服务器是 2k3 sp1
有个问题,为什么之前 win2k3 sp1 不需要,这项修改 hosts 的工作呢?
不过,之前测试的 Web 服务器是 xp sp2, DB 服务器是 2k3 sp1
#11
hosts 文件是必须要修改的,因为msdtc需要name resolution是没有问题的,我想是不是因为sp1时你已经设置了hosts,而打了sp2后,就被ms给打没了呢?
#1
以前听说过,这和SQL没有关系,据说是该window下一个hosts文件,LZ可以顺着这个思路继续研究~
#2
cnblogs 上有位网友也说的这个 host, 但是不晓得是虾米哦, 也没有说具体如何操作
狂郁闷中 ...
狂郁闷中 ...
#3
神了,似乎可以了,竟然又跑起来了 :)
处理方法:
在数据库服务器(MS SQL)上的 hosts 文件中加入 Web 服务器(IIS) 的 IP 和 主机名 映射对
1.
定位到 C:\WINDOWS\system32\drivers\etc 目录
2.
记事本打开 hosts 文件(没有扩展名)
3.
添加一行 Web 服务器 IP 和 主机名映射, 如
10.10.1.118 MyWebServerHostName
4.
OK!
处理方法:
在数据库服务器(MS SQL)上的 hosts 文件中加入 Web 服务器(IIS) 的 IP 和 主机名 映射对
1.
定位到 C:\WINDOWS\system32\drivers\etc 目录
2.
记事本打开 hosts 文件(没有扩展名)
3.
添加一行 Web 服务器 IP 和 主机名映射, 如
10.10.1.118 MyWebServerHostName
4.
OK!
#4
哦,恭喜楼主已经解决了
#5
恭喜LZ,host,呵呵~
#6
没事了,jf
#7
也可以使用Dtcping来测试2台机器之间是否能通
同时2台机器之间必须能ping的通hostname,否则msdtc也是不起作用的
同时2台机器之间必须能ping的通hostname,否则msdtc也是不起作用的
#8
来接分
#9
完全是 MSDTC 新手,碰到问题就卡壳了 @_@
幸好这世界有样东东叫【搜索引擎】 :)
晚上回学校结帖 ~
幸好这世界有样东东叫【搜索引擎】 :)
晚上回学校结帖 ~
#10
@Night
有个问题,为什么之前 win2k3 sp1 不需要,这项修改 hosts 的工作呢?
不过,之前测试的 Web 服务器是 xp sp2, DB 服务器是 2k3 sp1
有个问题,为什么之前 win2k3 sp1 不需要,这项修改 hosts 的工作呢?
不过,之前测试的 Web 服务器是 xp sp2, DB 服务器是 2k3 sp1
#11
hosts 文件是必须要修改的,因为msdtc需要name resolution是没有问题的,我想是不是因为sp1时你已经设置了hosts,而打了sp2后,就被ms给打没了呢?