Что означает код HRESULT 0xC80005E0 (hrNullInvalid)?

 
Предыдущий Следующий
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.

Технические ссылки


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