Как установить уровень изоляции транзакции для ReadUncommitted в SQLite? - PullRequest
3 голосов
/ 20 марта 2011

Согласно ответу на этот пост он гласит:

Знаете ли вы, что 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?

1 Ответ

2 голосов
/ 26 октября 2011

Для выполнения незафиксированных прочтений см. Следующий вопрос и ответ:

Как выполнить запрос SQLite с помощью устройства чтения данных без блокировки базы данных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...