根据post的回答,它说:
除非您启用了共享缓存且两个连接来自同一个线程,否则您是否知道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);
此问题与我发布的另一个问题有关here。
如何在SQLite中提取具有ReadUncommitted隔离级别的查询?
答案 0 :(得分:2)
要完成未提交的读取,请参阅以下问题并回答:
How perform SQLite query with a data reader without locking database?