3

この投稿の回答によると、次のように述べています。

共有キャッシュを有効にしていて、両方の接続が同じスレッドからのものでない限り、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のクエリを実行するにはどうすればよいですか?

4

1 に答える 1

2

コミットされていない読み取りを実行するには、次の質問と回答を参照してください。

データベースをロックせずにデータリーダーで SQLite クエリを実行するにはどうすればよいですか?

于 2011-10-26T17:59:33.337 に答える