n1ro°
RU

Ошибки · Решение

SQLite SQLITE_CANTOPEN (14): не удаётся открыть файл базы

Причина часто в path/permissions, но extended code позволяет отделить directory/symlink/fullpath сценарии.

Редакция N1RO · Проверено

Короткий ответ

SQLITE_CANTOPEN (14) означает, что SQLite не смог открыть основной database file или связанный файл, необходимый работе.

Что означает ошибка

Причина часто в path/permissions, но extended code позволяет отделить directory/symlink/fullpath сценарии.

Возможные причины

  • Путь к базе неверен или родительская директория отсутствует.
  • Service account не имеет доступа к файлу/директории.
  • URI/VFS policy запрещает symlink или не может разрешить полный путь.

Что проверить

  • Проверьте абсолютный путь, рабочую директорию и существование parent directories.
  • Проверьте ownership/permissions от имени реального service user.
  • Считайте extended result code SQLITE_CANTOPEN_* для уточнения причины.

Безопасные шаги

  1. Исправьте path/configuration и права минимально необходимым образом.
  2. Создайте directory заранее, если приложение не должно делать это само.
  3. Не переносите db-файл во время открытых connections.

Только безопасные обратимые действия. Опасные шаги — только по официальной инструкции и с пониманием рисков.

Когда нужен сервис

  • Если CANTOPEN появляется только после deploy/container restart, сравните mount paths и service user нового окружения.

Похожие ошибки

  • /errors/sqlite-busy-5/
  • /errors/sqlite-locked-6/
  • /errors/sqlite-readonly-8/

Что учитывать

Точная причина зависит от версии ПО/прошивки, полного текста ошибки и контекста. Официальная инструкция имеет приоритет.

Официальный источник

Расшифровка сверена с официальными страницами поддержки из источников ниже. Редакция N1RO не диагностировала ваш конкретный случай.