Comment le niveau d'isolement de l'ensemble de transactions à READUNCOMMITTED dans SQLite?
-
27-10-2019 - |
Question
Selon la réponse sur cette après il est écrit:
Saviez-vous que READUNCOMMITTED va revenir à l'isolement sérialisé à moins que vous avez activé le cache partagé et les connexions sont du même fil?
travail en C #, je puis allé de l'avant et a défini une importation de DLL comme suit:
[DllImport("System.Data.SQLite.dll", CallingConvention=CallingConvention.Cdecl)]
public static extern int sqlite3_enable_shared_cache(int enable);
J'ai appelé cette fonction pour activer le cache et a obtenu un statut de résultat positif de 0 lorsqu'il est appelé. Quoi qu'il en soit, je reçois toujours l'exception « IsolationLevel », lors de l'exécution de la ligne ci-dessous et en essayant de définir le niveau d'isolement READUNCOMMITTED.
string connectionString = @"data source=d:\db\test.db3;datetimeformat=Ticks";
SQLiteConnection conn = new SQLiteConnection(connectionString);
conn.Open();
IDbTransaction tran = conn.BeginTransaction(IsolationLevel.ReadUncommitted);
Cette question est liée à une autre question que j'ai posté
La solution To accomplish uncommitted reads see the following question and answer: How perform SQLite query with a data reader without locking database?