https://bugs.kde.org/show_bug.cgi?id=526935

--- Comment #7 from [email protected] ---
No. This is not a sign of database corruption. In comment 6, the command
returns:

>$ sqlite3 digikam4.db "PRAGMA integrity_check"
>Error: in prepare, unable to open database file (14)

This is SQLite error code 14 (SQLITE_CANTOPEN): sqlite3 cannot even open the
file, which means the integrity check never actually ran. A genuinely corrupted
database would open and instead return errors such as database disk image is
malformed, or *** in database main *** lines from PRAGMA integrity_check. This
is also consistent with the log in the initial report: QSqlError("14", "Unable
to execute statement", "unable to open database file").

So the problem is upstream, at the file/filesystem level:

* Wrong path: the user may not be in the correct directory, or the database may
have a different name (please check with ls -l, and possibly use the full path
/run/media/avalanche/Seagate/DigiKam25/digikam4.db).

* Insufficient permissions: the external USB disk may be mounted without write
access (typically an NTFS/exFAT partition mounted with the wrong uid, or
mounted read-only).

*Missing/broken mount: please check mount | grep Seagate and the mount options.

Note that digiKam's message ("privileges are not assigned to you: CREATE
TABLE") is misleading: it's the generic error shown when schema initialization
fails. Here most likely because the database file sits on an external drive
that is not properly mounted or not writeable, not because the database is
corrupt or because SQL privileges are actually missing.

Next steps: please attach the output of ls -l on the database file and of mount
for the external drive, then re-run sqlite3 with the full path once the drive
is mounted read-write.

Best regards

Gilles Caulier

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to