| Предыдущий | Следующий |
| DB_E_NOTSUPPORTED | DB_E_BADORDINAL |
DB_E_MAXPENDCHANGESEXCEEDED
Что означает DB_E_MAXPENDCHANGESEXCEEDED
DB_E_MAXPENDCHANGESEXCEEDED означает, что провайдер OLE DB достиг собственного ограничения на число строк с отложенными изменениями. Увеличение обычного буфера приложения не устраняет этот лимит состояния rowset.
Что проверить
- Подсчитайте pending rows и сопоставьте результат с возможностями и ограничениями конкретного провайдера.
- Проверьте, что все HROW относятся к тому же rowset и не остаются после ошибочного пути выполнения.
- Применяйте или отменяйте накопленные изменения через предусмотренный deferred-update интерфейс до добавления следующей партии.
- После failed commit проверьте фактическое состояние строк: невидимые pending entries не должны переноситься в следующий цикл.
Как подтвердить исправление
Исправление подтверждается ограниченным размером партии и стабильным числом pending rows после повторных apply/undo циклов.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.