Что означает код HRESULT 0x80040E95 (DB_E_ASYNCNOTSUPPORTED)?

 
Предыдущий Следующий
DB_E_READONLY DB_E_CANNOTCONNECT

DB_E_ASYNCNOTSUPPORTED

DB_E_ASYNCNOTSUPPORTED: интерпретация кода и контроль исправления

DB_E_ASYNCNOTSUPPORTED имеет значение 0x80040E95 (-2147217771 в знаковом 32-битном представлении). Поставщик не поддерживает асинхронную привязку.

Старший бит HRESULT делает значение ошибкой. Эта константа объявлена в Microsoft OLE DB и относится к области «OLE DB и контракт провайдера данных».

Техническая граница

Код относится к контракту OLE DB: состоянию команды, набора строк, свойств, параметров, транзакции или ресурса провайдера. Нужно сохранить цепочку error records и точный интерфейс, потому что ADO/.NET-обёртка часто оставляет только общий HRESULT.

Данные для воспроизведения

  • Для сравнения с исправным случаем нужно зафиксировать фактическое потребление ресурса при ограничениях времени или памяти.
  • До повторной попытки нужно зафиксировать текст команды, параметры и активные свойства DBPROP.

Практическая диагностика

  1. Найти первый интерфейсный вызов OLE DB, вернувший этот HRESULT; все остальные условия оставьте неизменными.
  2. Извлечь provider-specific error records и сопоставить их с командой; не удаляйте исходные данные до завершения сравнения.
  3. Повторить запрос с минимальным набором свойств и параметров; повторите шаг на исправном контрольном примере.
  4. Проверить допустимое состояние объекта и порядок Prepare/Execute/Fetch/Release; сохраните первый hresult и точное время результата.
  5. После исправления проверить успешный запрос, пустой результат и контролируемую ошибку; отдельно отметьте изменение состояния объекта.

Восстановление рабочего пути

Корректирующее действие для него должно устранять условие «Поставщик не поддерживает асинхронную привязку» на уровне CLSID.

Ссылки Microsoft


Нужно найти другой код? Найти другой код состояния или ошибки.