Согласно ответу на этот пост он гласит:
Знаете ли вы, что ReadUncommitted вернется в сериализованную изоляцию, если вы не включили общий кэш, и оба подключенияиз того же потока?
Работая в C #, я затем определил импорт DLL следующим образом:
[DllImport("System.Data.SQLite.dll", CallingConvention=CallingConvention.Cdecl)]
public static extern int sqlite3_enable_shared_cache(int enable);
Я вызвал эту функцию, чтобы включить кэш, и получилстатус успешного результата 0 при вызове.Тем не менее, я все еще получаю исключение «уровень изоляции», когда выполняю строки ниже и пытаюсь установить уровень изоляции на ReadUncommitted.
string connectionString = @"data source=d:\db\test.db3;datetimeformat=Ticks";
SQLiteConnection conn = new SQLiteConnection(connectionString);
conn.Open();
IDbTransaction tran = conn.BeginTransaction(IsolationLevel.ReadUncommitted);
Этот вопрос связан с другим вопросом, который я разместил здесь .
Как выполнить запрос с уровнем изоляции ReadUncommitted в SQLite?