Der folgende Code funktioniert, wenn die Anwendung "verwenden" ist "niedrig", das Einfügen geschieht.con.Open() fehlschlägt Ausnahme Transaktionen mit IsolationLevel Snapshot kann nicht heraufgestuft werden
Sobald ich hohe Verwendung habe, erhalte ich die Fehler
Transaktionen mit Isolation Snapshot kann nicht
gefördert werden, wenn ich versuche, die Verbindung zu öffnen. Die Ausnahme passiert in der Zeile "cn.Open()
";
Ich habe versucht, die Datenbank mit snapshot_isolation_state
mit 0 oder mit 1, oder is_read_commited_snapshot_on
mit 0 oder 1 .... und ich habe sogar versucht zu setzen eine Transaktion auf dem C# -Code zu verwenden ... aber es machte keinen Unterschied.
ich über Transaktion in diesem Fall ist es egal, ich will nur Einsätze machen (keine Updates) ....
Wie kann ich dieses Problem beheben?
Mein Code:
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();
}
Sie ein Transaction in jeder der anrufenden Code verwendet? –