5

我收到此错误

事务必须在连接可用于执行 sql 语句之前进行处置。

我有一个包含大约 6000 行的 Excel 文件,我将这些文件上传到类型化数据集中的数据表中,然后我试图将我的业务逻辑应用于 dt 中的这些行。

异常从第二个循环抛出,我必须做两个循环;为什么会发生此异常,我该如何解决?

这是我的代码:

try
{
    using (TransactionScope scope = SysInfo.BeginTransaction(IsolationLevel.Serializable))
    {

        //Here is my Typed dataset

        //Method Looping through row in Datatable & Calling DB

        //another Method Looping through row in Datatable & Calling DB

        scope.Complete();
    }
}
catch (Exception ex) { throw ex; }   
4

1 回答 1

8

我通过在 App.config 中添加以下行来解决它:

<configuration>
    <system.transactions>
        <defaultSettings timeout="00:01:30" />
    </system.transactions>
</configuration> 

这在 Machine.config 中:

<configuration>
    <system.transactions>
        <machineSettings maxTimeout="00:01:30" />
    </system.transactions>
</configuration>

由于这个过程需要很长时间,超过 10 分钟,所以我发现我需要用更高的值覆盖这个值。

于 2012-07-04T12:10:29.973 回答