sqliteでreaduncommentされるようにトランザクション分離レベルをどのように設定しますか?

StackOverflow https://stackoverflow.com/questions/5371220

質問

これに関する答えによると 役職 それは次のように述べています:

共有されたキャッシュを有効にし、両方の接続が同じスレッドからのものでない限り、ReadUnCommedがシリアル化された分離に戻ることをご存知ですか?

C#で作業して、私は先に進み、次のようにDLLインポートを定義しました。

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

この関数を呼び出してキャッシュを有効にし、呼び出されたときに0の成功した結果ステータスを取得しました。それにもかかわらず、以下の行を実行し、分離レベルを読み取りに設定しようとするとき、私はまだ「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の分離レベルでクエリを引き出すにはどうすればよいですか?

役に立ちましたか?

解決

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top