Frage

Nach der Antwort dazu Post Es sagt aus:

Wussten Sie, dass ReadCommidt zur serialisierten Isolation zurückkehren wird, es sei denn, Sie haben den gemeinsam genutzten Cache aktiviert und beide Verbindungen stammen aus demselben Thread?

Ich arbeitete in C#und definierte dann einen DLL -Import wie folgt:

[DllImport("System.Data.SQLite.dll", CallingConvention=CallingConvention.Cdecl)]
public static extern int sqlite3_enable_shared_cache(int enable);

Ich nannte diese Funktion, um den Cache zu aktivieren, und erhielt einen erfolgreichen Ergebnisstatus von 0, wenn ich aufgerufen wurde. Trotzdem bekomme ich immer noch die Ausnahme "IsolationLevel", wenn ich die folgenden Zeilen ausführte und versuche, die Isolationsstufe auf ReadUnCommided festzulegen.

string connectionString = @"data source=d:\db\test.db3;datetimeformat=Ticks";
SQLiteConnection conn = new SQLiteConnection(connectionString);
conn.Open();
IDbTransaction tran = conn.BeginTransaction(IsolationLevel.ReadUncommitted);

Diese Frage bezieht sich auf eine andere Frage, die ich veröffentlicht habe hier.

Wie kann ich eine Abfrage mit einem Isolationsniveau von ReadCommidn in SQLite abziehen?

War es hilfreich?

Lösung

Um nicht verbindliche Lesungen zu erreichen, sehen Sie sich die folgende Frage und Antwort an:

Wie führen Sie die SQLite -Abfrage mit einem Datenleser aus, ohne Datenbank zu sperren?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top