我收到此错误
必须先处理事务,然后才能使用连接执行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; }
答案 0 :(得分:7)
我通过在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分钟,所以我发现我需要用更高的值覆盖这个值。