Что означает код HRESULT 0x8004D008 (XACT_E_ISOLATIONLEVEL)?

 
Предыдущий Следующий
XACT_E_HEURISTICDANGER XACT_E_NOASYNC

XACT_E_ISOLATIONLEVEL

Каждый участник должен соблюдать эффективный контракт изоляции

XACT_E_ISOLATIONLEVEL означает, что запрошенный уровень изоляции нельзя установить для этого диспетчера транзакций, ресурса или конфигурации COM+. Изоляция определяет, какие параллельные изменения могут быть видимы; она не зависит от протокола двухфазной фиксации, который позднее координирует итог.

Запишите запрошенный уровень и уровни, фактически поддерживаемые каждым диспетчером ресурсов. Значение, принятое одним поставщиком базы данных, может быть отклонено после повышения транзакции или подключения другого поставщика. Снижение изоляции способно изменить корректность приложения, поэтому должно следовать из анализа конкурентности, а не использоваться как общий переключатель совместимости. Проверьте и значения по умолчанию фреймворка: они могут запрашивать более строгий уровень, чем явно указан в коде.

Данные изоляции для диагностики

  • Запрошенный уровень изоляции и флаги сохранения изоляции.
  • Поддерживаемые поставщиком уровни и поведение при повышении.
  • Возникает ли ошибка до или после подключения второго ресурса.
  • Гарантии конкурентности, фактически необходимые бизнес-операции.

Ссылки


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