Что означает код HRESULT 0x00040EC2 (DB_S_TYPEINFOOVERRIDDEN)?

 
Предыдущий Следующий
DB_S_COLUMNTYPEMISMATCH DB_S_BOOKMARKSKIPPED

DB_S_TYPEINFOOVERRIDDEN

Что означает результат

DB_S_TYPEINFOOVERRIDDEN — успешный статус OLE DB, указывающий, что сведения о типе одного или нескольких параметров были переопределены относительно исходно полученной информации. Операция не обязана считаться неуспешной, но последующие привязки должны соответствовать фактическому типу.

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

  • Сопоставьте порядковый номер параметра с переданным DBPARAMBINDINFO и фактическим DBTYPE.
  • Проверьте precision, scale, размер и направление параметра; расхождение именно этих полей часто важнее самого HRESULT.
  • Если типы выводились из текста команды или stored procedure metadata, убедитесь, что метаданные не были получены до изменения схемы.
  • Проверьте, не задаёт ли приложение тип вручную после вызова получения parameter info и не использует ли затем старые bindings.

Как действовать

Стройте привязки и преобразование значений по окончательной информации о параметре. Не лечите этот статус повторным выполнением команды: сначала устраните несогласованность между объявленным типом и тем, который реально использует provider.

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


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