What does HRESULT 0x87AF020E (SQLITE_E_CANTOPEN_ISDIR) mean?

 
Previous Next
SQLITE_E_IOERR_SHORT_READ SQLITE_E_CONSTRAINT_COMMITHOOK

SQLITE_E_CANTOPEN_ISDIR

SQLITE_E_CANTOPEN_ISDIR is the extended SQLite cannot-open result returned when the requested database path is a directory.

What to check for SQLITE_E_CANTOPEN_ISDIR

  • Log the final expanded path and check configuration variables, command-line arguments, and path joins.
  • Check whether a directory was created where the application expected a database file, for example during deployment or volume mounting.
  • Correct the configuration and create or restore the database file through the normal application process.
PRAGMA database_list;

SQLite: Result and Error Codes

Diagnostic interpretation of SQLITE_E_CANTOPEN_ISDIR

SQLITE_E_CANTOPEN_ISDIR has the HRESULT value 0x87AF020E. AllStat records the condition as “SQLITE_CANTOPEN_ISDIR”. For SQLITE_E_CANTOPEN_ISDIR, in practice, interpret that wording at the boundary owned by the Windows component or COM interface that returned the HRESULT, rather than treating the value as a generic Windows message.

Evidence to capture for SQLITE_E_CANTOPEN_ISDIR

  • Record the exact COM method or Windows API, its input object, the calling thread, and the full 0x87AF020E value before a wrapper converts it to an exception or Boolean result.
  • Capture any IErrorInfo text, activity identifier, event-log entry, and subsystem trace that mentions SQLITE_E_CANTOPEN_ISDIR or the sqlite / cantopen / isdir operation.
  • For SQLITE_E_CANTOPEN_ISDIR, check the documented return contract of the specific API because the same HRESULT can require different recovery in different interfaces.

Retry and recovery for SQLITE_E_CANTOPEN_ISDIR

Retry SQLITE_E_CANTOPEN_ISDIR only when the owning API documents a transient state or after the condition described as “SQLITE_CANTOPEN_ISDIR” has changed. For SQLITE_E_CANTOPEN_ISDIR, configuration, policy, format, and authorization failures normally require correction first; an immediate loop can hide the original call site and add secondary errors.


Looking for a different code? Search another status or error code.