| Предыдущий | Следующий |
| hrKeyNotMade | hrerrDataHasChanged |
hrUpdateNotPrepared
Что означает hrUpdateNotPrepared
hrUpdateNotPrepared (0xC8000649) — обновление не подготовлено.
Что проверить
Зафиксируйте базу, таблицу или сессию ESE и первый API Jet/ESENT, который вернул hrUpdateNotPrepared.
- Проверьте состояние базы и журналов ESE, свободные ресурсы процесса и состояние активной транзакции именно в момент отказа.
- Если ошибка возникла при восстановлении или работе с журналами, сопоставьте поколения журналов, контрольную точку и выбранный набор файлов; не подменяйте восстановление простым повтором операции.
Практический смысл и диагностика
- `JetSetColumn`/`JetUpdate`-style operation пришла к cursor без matching prepared-update state.
- Проверьте, был ли успешный `JetPrepareUpdate` для этого cursor и не потерялось ли state после move/seek/rollback/error path.
- Отличайте от `hrAlreadyPrepared`: там stale preparation уже существует; здесь preparation отсутствует.
- Не повторяйте write вслепую: перечитайте current row и business preconditions, затем заново выполните правильную prepare→set→update sequence.
- Логируйте session/cursor identity и переходы `JetMove`, `JetSeek`, bookmark, prepare, update/delete, чтобы найти lifecycle gap.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.