アプリケーション「使用」が「低」で挿入が行われている場合、次のコードが機能しています。私は、接続を開こうとするとcon.Open()が例外に失敗するIsolationLevelスナップショットを使用したトランザクションを昇格できない
はできるだけ早く私は、高い使用を持っていて、IsolationLevelをスナップショットと私はエラーを取得しています
取引は
を推進することはできません。 "cn.Open()
"という行で例外が発生しています。
私は0または1、 または0または1でis_read_commited_snapshot_on
でsnapshot_isolation_state
でデータベースを設定することを試みた....と私もC#のコード上でトランザクションを使用しようとしました...しかし、それはノー作ら差。
私はこの問題を解決するにはどうすればよい
....私はちょうどインサート(なし更新を)作りたい、この場合には取引を気にしませんか?
マイコード:
var connectionString = @"data source=XXXX\SQL2005;initial catalog=pw_LogDBStack;user id=XXXX;password=XXXX;";
string query = "INSERT INTO LogEntry (DateTime, CallerMethod, Stack, Query) VALUES (@DateTime, @CallerMethod, @Stack, @Query)";
//SqlTransaction transaction = null;
using (SqlConnection cn = new SqlConnection(connectionString))
{
cn.Open();
//transaction = cn.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted);
//using (SqlCommand cmd = new SqlCommand(query, cn, transaction))
using (SqlCommand cmd = new SqlCommand(query, cn))
{
cmd.Parameters.AddWithValue("@DateTime", DateTime.Now);
cmd.Parameters.AddWithValue("@CallerMethod", callerMethod);
cmd.Parameters.AddWithValue("@Stack", stackStr);
cmd.Parameters.AddWithValue("@Query", c.Command.ToTraceString());
cmd.ExecuteNonQuery();
}
//transaction.Commit();
cn.Close();
}
にプロパティを追加することによってこの問題を解決することができたあなたは、呼び出し元のコードのいずれかでのTransactionScopeを使用していますか? –