この投稿の回答によると、次のように述べています。
共有キャッシュを有効にしていて、両方の接続が同じスレッドからのものでない限り、ReadUncommittedがシリアル化された分離に戻ることをご存知ですか?
次に、C#で作業し、DLLインポートを次のように定義しました。
[DllImport("System.Data.SQLite.dll", CallingConvention=CallingConvention.Cdecl)]
public static extern int sqlite3_enable_shared_cache(int enable);
この関数を呼び出してキャッシュを有効にし、呼び出されたときに成功した結果ステータス0を取得しました。それでも、以下の行を実行して分離レベルをReadUncommittedに設定しようとすると、例外「isolationlevel」が発生します。
string connectionString = @"data source=d:\db\test.db3;datetimeformat=Ticks";
SQLiteConnection conn = new SQLiteConnection(connectionString);
conn.Open();
IDbTransaction tran = conn.BeginTransaction(IsolationLevel.ReadUncommitted);
この質問は、私がここに投稿した別の質問に関連しています。
SQLiteで分離レベルがReadUncommittedのクエリを実行するにはどうすればよいですか?