| Previous | Next |
| SQLITE_E_INTERRUPT | SQLITE_E_CORRUPT |
SQLITE_E_IOERR
SQLITE_E_IOERR is the service representation of SQLite SQLITE_IOERR: the database engine received an input/output error from its VFS or filesystem layer. The base code is deliberately broad; the extended SQLite result code is the useful diagnostic value.
Record the extended result code, SQLite error message, database path, journal mode, and the operating-system error before retrying. Do not delete -wal, -shm, or rollback-journal files from an active database as a first response.
What to check
- Enable or retrieve the extended result code with
sqlite3_extended_errcode()so the failing VFS operation is known. - Check the database directory, not only the main database file: SQLite may need journal, WAL, shared-memory, and temporary files.
- Investigate storage, filesystem, permissions, and mount events around the first failure; a generic I/O code is not proof of database corruption.
sqlite3_extended_errcode(db)
sqlite3_errmsg(db)
SQLite: Result and Error Codes
SQLite: How Database Files Can Become Corrupt
Looking for a different code? Search another status or error code.