| Предыдущий | Следующий |
| DB_E_READONLYACCESSOR | DB_E_BADROWHANDLE |
DB_E_SCHEMAVIOLATION
Что означает DB_E_SCHEMAVIOLATION
DB_E_SCHEMAVIOLATION означает, что значения или DDL-операция нарушают схему, которую сообщает OLE DB provider.
Что проверить
Сохраните полный IErrorRecords до повторной попытки: provider часто указывает конкретный constraint, столбец или правило. Затем сопоставьте отправленные значения с актуальной схемой, перечитанной после возможной миграции.
- Проверьте тип, длину, nullability и ограничения ссылочной целостности.
- Не угадывайте имя объекта по одному HRESULT.
- Если схема менялась, обновите cached metadata клиента.
Как подтвердить исправление
Повторите ровно исходную insert/update/DDL операцию и убедитесь, что provider больше не сообщает нарушение конкретного правила.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.