| Предыдущий | Следующий |
| 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.
Практическая диагностика
- Найти первый интерфейсный вызов OLE DB, вернувший этот HRESULT; все остальные условия оставьте неизменными.
- Извлечь provider-specific error records и сопоставить их с командой; не удаляйте исходные данные до завершения сравнения.
- Повторить запрос с минимальным набором свойств и параметров; повторите шаг на исправном контрольном примере.
- Проверить допустимое состояние объекта и порядок Prepare/Execute/Fetch/Release; сохраните первый hresult и точное время результата.
- После исправления проверить успешный запрос, пустой результат и контролируемую ошибку; отдельно отметьте изменение состояния объекта.
Восстановление рабочего пути
Корректирующее действие для него должно устранять условие «Поставщик не поддерживает асинхронную привязку» на уровне CLSID.
Ссылки Microsoft
- Microsoft: direct binding in OLE DB
- Microsoft: OLE DB root binder object
- Microsoft: OLE DB row objects
- Документация OLE DB
Нужно найти другой код? Найти другой код состояния или ошибки.