| Предыдущий | Следующий |
| 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.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.