1

私は得ています

「トランザクションが接続されていないか、切断されましたエラー」

一括挿入を実行した後にトランザクションがコミット/ロールバックされた場合のエラー(および他のいくつかの操作)。

using(var tran = Session.Session().BeginTransaction(IsolationLevel.Serializable))
    {
       // do something
       fullSession.Session().CreateSQLQuery(query).ExecuteUpdate();// this query bulk insert in a temp db
       // do something else
       tran.Commit()/ tran.RollBack();// if transaction is active and not already rolled back/committed
    }

ファイルから一時データベースに一括挿入するクエリが失敗した場合、tran.Commit/rollbackでこのエラーが発生します。

4

3 に答える 3

1

Bulk InsertはInsertステートメントの組み合わせであるため、失敗してもトランザクションはロールバックされないため、本当にエラーをキャッチしたい場合は、BEGINおよびENDトランザクション内でTryandcatchブロックを使用してみてください。

于 2012-05-31T18:54:52.153 に答える
0

System.Data.SqlTypes.SqlDateTime?タイプ(Nullable)のプロパティを持つエンティティを永続化するときに、NHybernateを使用してこれとまったく同じエラーが発生していました。

プロパティを通常に変更するとSystem.DateTime?、問題が修正されました。

于 2012-12-27T08:47:22.903 に答える
0

問題が発生しましたが、MS SQLManagmentstudioで接続を閉じた後に問題が発生しました。

于 2016-10-22T21:51:16.110 に答える