| Previous | Next |
| DB_E_CANNOTRESTART | DB_E_CANNOTFREE |
DB_E_NOTFOUND
Meaning
Windows documents DB_E_NOTFOUND as “Object or data matching the name, range, or selection criteria was not found within the scope of this operation”. Here, an OLE DB lookup, open, bind or selection operation finds no object or data matching the supplied criteria within its defined scope.
Relevant OLE DB contract
This result must be interpreted against this contract: OLE DB objects follow both COM lifetime rules and provider-specific state contracts; open dependents, ownership transfer, aggregation, callbacks and namespace identity must be traced from the exact interface call rather than inferred from a wrapper exception.
Start with the COM object that returned the result and every dependent interface or provider-owned resource involved in the call when investigating this result.
Specific conditions that produce the result
- Cause 1: the requested table, row, resource or named object does not exist.
- Cause 2: catalog, schema, chapter or URL scope differs from the caller's assumption.
- Cause 3: a prior delete, rename or transaction change removed the target.
Evidence to collect before changing the system
- Evidence 1: the exact selection criteria and search scope.
- Evidence 2: catalog, schema, chapter, URL or parent object active at the call.
- Evidence 3: provider error records and a control lookup using the same identity.
Corrective actions
- Action 1: verify the target in the same provider scope used by the failing call.
- Action 2: refresh names and identifiers after schema or namespace changes.
- Action 3: treat absence as a distinct outcome when the API contract allows it.
Retry and recovery policy
Retry rule: retry only after the target is created, renamed back, or searched under corrected scope.
Practical incident
A service verifies a table in the default catalog but opens it through a session whose current catalog differs; qualifying the DBID resolves it.
Difference from related HRESULT values
DB_E_NOTABLE specifically says a table does not exist, while DB_E_NOTFOUND is the broader no-match result for the operation's scope.
Official Microsoft references
Looking for a different code? Search another status or error code.