Pregunta

Según la respuesta sobre esto correo afirma:

¿Sabía que Readuncometed volverá al aislamiento serializado a menos que haya habilitado el caché compartido y ambas conexiones son del mismo hilo?

Trabajando en C#, seguí adelante y definí una importación de DLL de la siguiente manera:

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

Llamé a esta función para habilitar el caché y obtuve un estado de resultado exitoso de 0 cuando se llamaba. No obstante, sigo con la excepción "Aislamiento de nivel", al ejecutar las líneas a continuación e intentar establecer el nivel de aislamiento en lectura.

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

Esta pregunta está relacionada con otra pregunta que publiqué aquí.

¿Cómo puedo sacar una consulta con un nivel de aislamiento de Readuncommed en SQLite?

¿Fue útil?

Solución

Para lograr lecturas no comprometidas, consulte la siguiente pregunta y respuesta:

¿Cómo realizar la consulta SQLite con un lector de datos sin bloquear la base de datos?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top