Что означает код HRESULT 0x80040E50 (DB_E_BADSOURCEHANDLE)?

 
Предыдущий Следующий
DB_E_CHAPTERNOTRELEASED DB_E_PARAMUNAVAILABLE

DB_E_BADSOURCEHANDLE

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

DB_E_BADSOURCEHANDLE означает, что OLE DB получил дескриптор исходного объекта, который больше недействителен или не принадлежит текущему объекту поставщика данных.

Типичные причины — обращение к объекту после его освобождения, смешение объектов из разных сеансов или повторное использование дескриптора после закрытия родительского объекта.

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

  • Проследите место создания и освобождения исходного объекта.
  • Проверьте, к какому сеансу и поставщику данных относится дескриптор.
  • Не сохраняйте дескриптор после освобождения родительского объекта.
  • Для контрольного теста получите новый дескриптор из актуального объекта и повторите безопасную операцию.

Если новый дескриптор работает, исправлять нужно владение объектами и их жизненный цикл. Копирование старого числового значения объект не восстанавливает.

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


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