【发布时间】:2009-04-23 23:59:47
【问题描述】:
当我尝试在连接到 SQL Server 2000 的 Windows Server 2003 Standard Edition SP1 计算机上运行 C# WinForms 应用程序时收到以下错误,在 WinForms 应用程序中转换数据并将转换后的数据插入 SQL 服务器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();
}
错误信息:
异常:交易已经 被隐含或明确地 已提交或中止。
内部异常:交易有 已经隐式或显式地 已提交或中止(异常来自 HRESULT: 0x8004D00E)
有人知道是什么原因造成的吗?
【问题讨论】:
-
它在哪一行引发异常?而且,你为什么要在 using 块中捕获异常?
-
我在远程服务器上运行应用程序,所以我无法捕获行号。我将 try/catch 块放在 using 语句中,因为它是我建立连接和处理数据的唯一地方。
标签: c# .net sql-server-2005 sql-server-2000 transactionscope