Site icon EfmSoft

What does HRESULT 0x80040E49 (DB_E_NULLACCESSORNOTSUPPORTED) mean?

 
Previous Next
DB_E_BYREFACCESSORNOTSUPPORTED DB_E_NOTPREPARED

DB_E_NULLACCESSORNOTSUPPORTED

Meaning

Windows documents DB_E_NULLACCESSORNOTSUPPORTED as “Null accessors are not supported by this provider”. Here, the consumer attempts to create or use a null accessor with zero bindings, but the provider does not support that accessor form.

Relevant OLE DB contract

This result must be interpreted against this contract: OLE DB accessors describe how columns or parameters map to a consumer buffer; an HACCESSOR is object-scoped, reference-counted and inseparable from its DBBINDING layout, bound parts, data types, offsets and ownership rules.

Start with the command or rowset that created the accessor and the consumer buffer passed to the failing method when investigating this result.

Diagnostic sequence

  1. Capture this result immediately at the native OLE DB return and obtain the current OLE DB error object before another COM call replaces thread error information.
  2. Identify the exact stage: the consumer attempts to create or use a null accessor with zero bindings, but the provider does not support that accessor form.

Specific conditions that produce it

  • Cause 1: CreateAccessor is called with no bindings for a provider that requires at least one.
  • Cause 2: a metadata-only path creates an accessor unnecessarily.
  • Cause 3: a generic insert or fetch routine uses a null accessor as a sentinel.

Evidence to collect before changing the system

  • Evidence 1: the accessor flags and zero binding count.
  • Evidence 2: the method that intended to use the accessor.
  • Evidence 3: provider behavior for operations that need no bound data.

Corrective actions

  • Action 1: omit the accessor-dependent call when no data is required.
  • Action 2: bind the minimal real columns needed by the operation.
  • Action 3: use the API's documented null-handle path when available instead of manufacturing a null accessor.

Retry and recovery policy

Retry rule: retry after removing the null accessor or creating a supported nonempty accessor.

Difference from related HRESULT values

DB_E_BADACCESSORFLAGS rejects invalid flags, while DB_E_NULLACCESSORNOTSUPPORTED rejects the zero-binding accessor concept itself.

Practical incident

A generic row reader creates an accessor even when the projection is empty; skipping data transfer avoids it.

Official Microsoft references


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

Exit mobile version