5

このエラーが発生します

接続を使用してSQLステートメントを実行する前に、トランザクションを破棄する必要があります。

約6000行を含むExcelファイルがあり、これらのファイルを型付きデータセットのデータテーブルにアップロードしました。次に、dtのこれらの行にビジネスロジックを適用しようとしています。

例外は2番目のループからスローされ、2つのループを実行する必要があります。なぜこの例外が発生するのですか、どうすれば解決できますか?

これが私のコードです:

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 に答える