Что означает код HRESULT 0xC80005EA (hrTaggedNotNULL)?

 
Предыдущий Следующий
hrColumnCannotIndex hrNoCurrentIndex

hrTaggedNotNULL

Что означает hrTaggedNotNULL

hrTaggedNotNULL (0xC80005EA) — помеченные столбцы не могут иметь значение NULL.

Что проверить

Зафиксируйте базу, таблицу или сессию ESE и первый API Jet/ESENT, который вернул hrTaggedNotNULL.

  • Проверьте состояние базы и журналов ESE, свободные ресурсы процесса и состояние активной транзакции именно в момент отказа.
  • Если ошибка возникла при восстановлении или работе с журналами, сопоставьте поколения журналов, контрольную точку и выбранный набор файлов; не подменяйте восстановление простым повтором операции.

Практический смысл и диагностика

  • Tagged-column operation использовала NULL semantics, недопустимую для текущего representation или ESE version/schema.
  • Проверьте API surface `JetAddColumn`, `JetDeleteColumn`, `JetSetColumn`, `JetRetrieveColumn` и фактический `JET_COLUMNDEF` target column.
  • Не путайте с `hrRecordTooBig`: там assembled row превышает size budget, а здесь проблема именно в null/tagged representation semantics.
  • Соберите column schema, tagged/multivalued attributes, column ID и operation options.
  • Также отличайте от `hrTooManyColumns`, где table schema достигла supported column count; изменение числа columns не исправит invalid NULL handling.

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


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