Mic*_*ern 3 .net c# sql-server-2005 sql-server-2000 transactionscope
当我尝试在连接到 SQL server 2000 的 Windows Server 2003 Standard Edition SP1 机器上运行 C# WinForms 应用程序时收到以下错误,转换 WinForms 应用程序中的数据并将转换后的数据插入 SQL server 2005 应用程序。我正在使用 SSPI 连接到每个数据库。
代码包含在 TransactionScope 块中:
System.TimeSpan TransactionTimeOut = new TimeSpan(0, 40, 0);
using(TransactionScope Scope = new TransactionScope(TransactionScopeOption.RequiresNew, TransactionTimeOut))
{
try
{
//meat of transaction...
}
catch(Exception ex)
{
throw ex;
}
Scope.Complete();
}
Run Code Online (Sandbox Code Playgroud)
错误信息:
例外:事务已被隐式或显式提交或中止。
内部异常:事务已被隐式或显式提交或中止(来自 HRESULT 的异常:0x8004D00E)
任何人都知道可能导致此问题的原因是什么?
检查 DTC 是否在运行代码的机器上启动。由于您在事务范围内使用了 2 个连接,因此该事务将被提升为基于 DTC 的事务。
此外,检查安全配置是否正确(通过允许匿名参与 DTC 事务来检查这一点),以及您的防火墙是否允许 DTC 通过它。
查看此论坛常见问题解答:分布式事务协调器 (MSDTC) 和事务常见问题解答
[与此 SO 问题相关:分布式事务协调器]
| 归档时间: |
|
| 查看次数: |
4831 次 |
| 最近记录: |