| Предыдущий | Следующий |
| DB_E_BADTYPENAME | DB_E_ROWSETINCOMMAND |
DB_E_ABORTLIMITREACHED
Что проверить
Windows возвращает DB_E_ABORTLIMITREACHED (0x80040E31), когда выполняется следующее условие: Выполнение остановлено из-за достижения ограничения ресурсов. Результаты не возвращены.
Почему важен контекст вызова
Код относится к контракту OLE DB: состоянию команды, набора строк, свойств, параметров, транзакции или ресурса провайдера. Нужно сохранить цепочку error records и точный интерфейс, потому что ADO/.NET-обёртка часто оставляет только общий HRESULT.
Минимальный набор свидетельств
- В первичном журнале нужно сохранить IID интерфейса, метод и состояние объекта OLE DB.
- На границе сбоя нужно записать CLSID и версию провайдера, разрядность процесса и сервер БД.
Как локализовать причину
- Найти первый интерфейсный вызов OLE DB, вернувший этот HRESULT; отдельно отметьте изменение состояния объекта.
- Извлечь provider-specific error records и сопоставить их с командой; все остальные условия оставьте неизменными.
- Повторить запрос с минимальным набором свойств и параметров; не удаляйте исходные данные до завершения сравнения.
- Проверить допустимое состояние объекта и порядок Prepare/Execute/Fetch/Release; повторите шаг на исправном контрольном примере.
- После исправления проверить успешный запрос, пустой результат и контролируемую ошибку; сохраните первый hresult и точное время результата.
Как доказать исправление
Корректирующее действие для него должно устранять условие «Выполнение остановлено из-за достижения ограничения ресурсов. Результаты не возвращены» на уровне CLSID.
Полезные материалы
Нужно найти другой код? Найти другой код состояния или ошибки.