Saltar al contenido
Errores de SQL/Base de DatosError
SQLITE_BUSY (5)

SQLITE_BUSY (5) — La base de datos está bloqueada

El archivo de la base de datos está bloqueado por otra conexión o proceso.

sqlite

Qué causa este error

Otro proceso mantiene un bloqueo de escritura. SQLite usa bloqueo a nivel de archivo, permitiendo solo un escritor a la vez.

Cómo solucionarlo

Reintenta tras un breve retraso. Usa sqlite3_busy_timeout(). Usa el modo WAL para mejor concurrencia. Cierra las conexiones no utilizadas.

Ejemplo

-- SQLITE_BUSY: database is locked
-- Enable WAL mode for better concurrency
PRAGMA journal_mode=WAL;
Documentación Oficial

Códigos de Error Relacionados