2

SqlTransaction の使用に問題があります。これがコードです

SqlConnection conn = new SqlConnection(connectionString);
// assume that at this point I add try/catch and the connection is successfully opened.
conn.Open();
SqlTransaction trans = conn.BeginTransaction(IsolationLevel.RepeatableRead);

//.........
// Here I do my action with database, change it, commit, call ExecuteNonQuery, //ExecuteScalar,etc...

// And after that long processing with this transaction, I don't know why trans.Connection //is null. and therefore when I call trans.commit(), an exception was raised?


trans.commit();

誰にも手がかりはありますか?

これは、接続が多すぎてデータベースサーバーのメモリが使い果たされたことが原因であると思われます。確信はないけど。

どうすればこれを解決できますか?

4

4 に答える 4

1

タイプミスのようです

con.BeginTransaction(IsolationLevel.RepeatableRead)

する必要があります

conn.BeginTransaction(IsolationLevel.RepeatableRead)
于 2012-05-11T10:41:39.980 に答える
1

を利用する

using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);
        Console.WriteLine("State: {0}", connection.State);
    }
于 2012-05-11T10:42:14.367 に答える
0

using次のステートメントを使用します。

using (SqlConnection connection = new SqlConnection(connectionString))
{
//your code here
}
于 2012-05-11T10:45:18.057 に答える