| Предыдущий | Следующий |
| SQLITE_E_BUSY_SNAPSHOT | SQLITE_E_IOERR_SHORT_READ |
SQLITE_E_READONLY_CANTLOCK
Что означает SQLITE_E_READONLY_CANTLOCK
SQLITE_E_READONLY_CANTLOCK означает, что SQLite оказался в read-only path, но текущая операция или journal mode требует lock, который VFS установить не может. Это не равнозначно повреждённой базе: часто ограничение задаёт filesystem, snapshot или sidecar-file policy.
Что проверить
- Сохраните open flags, database path, права каталога и journal mode.
- Проверьте возможность создавать/открывать и блокировать
-wal/-shmили rollback journal; права только на основной файл не описывают весь SQLite write path. - Для network/snapshot/read-only storage проверьте реальную lock semantics VFS, а не только ACL.
Как действовать
Либо предоставьте storage/VFS требуемые write/lock возможности, либо используйте режим чтения, который не требует недоступной блокировки. Не снимайте read-only атрибут механически, пока не понятно, должен ли этот deployment вообще выполнять запись.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
