Domanda

Secondo la risposta su questo inviare afferma:

Sapevi che ReadunCommited tornerà all'isolamento serializzato a meno che tu non abbia abilitato la cache condivisa e entrambe le connessioni provengano dallo stesso thread?

Lavorando in C#, poi sono andato avanti e ho definito un'importazione di DLL come segue:

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

Ho chiamato questa funzione per abilitare la cache e ho ottenuto uno stato di risultato riuscito di 0 quando chiamato. Tuttavia, ricevo ancora l'eccezione "Isolationlevel", quando eseguono le righe seguenti e si tenta di impostare il livello di isolamento su READUNCOMED.

string connectionString = @"data source=d:\db\test.db3;datetimeformat=Ticks";
SQLiteConnection conn = new SQLiteConnection(connectionString);
conn.Open();
IDbTransaction tran = conn.BeginTransaction(IsolationLevel.ReadUncommitted);

Questa domanda è legata a un'altra domanda che ho pubblicato qui.

Come posso eseguire una query con un livello di isolamento di readuncomitato in sqlite?

È stato utile?

Soluzione

Per realizzare letture non impegnate, consulta la seguente domanda e risposta:

Come eseguire la query SQLite con un lettore di dati senza database di bloccaggio?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top