| Предыдущий | Следующий |
| hrColumnDoesNotFit | hrColumnIndexed |
hrNullInvalid
Что означает hrNullInvalid
hrNullInvalid (0xC80005E0) — значение не может быть NULL.
Это старый HRESULT-вариант результата ESE (Extensible Storage Engine, ESENT); в JET API соответствующее условие известно как JET_errNullInvalid.
Что проверить
- Зафиксируйте первый Jet/ESENT API, его аргументы, флаги и владельца объекта. Последующая ошибка cleanup часто скрывает первоначальное нарушение контракта.
- Проверьте режим доступа и состояние объекта именно в момент возврата кода; повторяйте операцию только после исправления конкретного условия.
Практический смысл и диагностика
- Target column schema требует non-null value, но update попытался записать NULL либо не предоставил обязательное значение.
- hrNullKeyDisallowed относится к правилу index key; hrNullInvalid — к nullability contract самого column.
- hrRecordTooBig — другое состояние, когда assembled row превышает size budget; оно не объясняет запрет NULL.
- Сохраните column flags/default, prepared update type и различайте omitted value и explicit NULL — эти пути могут иметь разную semantics.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.