Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

506
Views
SQLite intenta escribir un error de base de datos de solo lectura

Tengo una aplicación de consola que llena una base de datos SQLite. Cuando la aplicación se ejecuta sola, no obtengo ningún error. Si ejecuto varias instancias de la aplicación, donde cada aplicación está en su propia carpeta y cada una llena su propia base de datos, ocasionalmente obtendré la siguiente excepción:

 System.Data.SQLite.SQLiteException (0x80004005): Attempt to write a read-only database attempt to write a readonly database at System.Data.SQLite.SQLite3.Reset(SQLiteStatement stmt) at System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt) at System.Data.SQLite.SQLiteDataReader.NextResult() at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave) at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior) at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()

Sé que la base de datos no es de solo lectura porque ya ha escrito datos en esa base de datos. Además, la aplicación continúa y continuará ingresando datos en esa base de datos. No he reproducido el error cuando solo se está ejecutando una única instancia de la aplicación.

Intenté usar el pragma para tener tanto el diario como temp_store en la memoria en lugar de un archivo en caso de que pudiera haber alguna contención entre las aplicaciones allí, pero sigo recibiendo el error. Siempre obtengo el error en el mismo método, que es la primera vez que ocurre una inserción para la conexión. Para dar una idea general de lo que hace la aplicación, recorre los casos, recopila información sobre esos casos (no de SQLite) y luego escribe los resultados en la base de datos de SQLite.

No sé qué más probar.

*editar También estoy usando PRAGMA journal_mode=MEMORY. Al insertar datos en la base de datos SQLite, primero ejecuto una declaración BEGIN, luego un montón de inserciones antes de la declaración END. El error se produce en la primera inserción.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Es un tema de permisos.

Asegúrese de que su aplicación web alojada tenga acceso para agregar/escribir/crear/eliminar a la carpeta donde reside la base de datos sqlite.

Para más detalles, consulte este

over 4 years ago · Santiago Trujillo Report

0

También podría ser que el archivo de base de datos no sea compatible con MigrationAssembly.

Se lanza la misma excepción cuando EF intenta migrar en un archivo que se espera que sea una base de datos SQLite que es fi. un archivo de texto.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!