| Предыдущий | Следующий |
| XACT_E_HEURISTICDANGER | XACT_E_NOASYNC |
XACT_E_ISOLATIONLEVEL
Каждый участник должен соблюдать эффективный контракт изоляции
XACT_E_ISOLATIONLEVEL означает, что запрошенный уровень изоляции нельзя установить для этого диспетчера транзакций, ресурса или конфигурации COM+. Изоляция определяет, какие параллельные изменения могут быть видимы; она не зависит от протокола двухфазной фиксации, который позднее координирует итог.
Запишите запрошенный уровень и уровни, фактически поддерживаемые каждым диспетчером ресурсов. Значение, принятое одним поставщиком базы данных, может быть отклонено после повышения транзакции или подключения другого поставщика. Снижение изоляции способно изменить корректность приложения, поэтому должно следовать из анализа конкурентности, а не использоваться как общий переключатель совместимости. Проверьте и значения по умолчанию фреймворка: они могут запрашивать более строгий уровень, чем явно указан в коде.
Данные изоляции для диагностики
- Запрошенный уровень изоляции и флаги сохранения изоляции.
- Поддерживаемые поставщиком уровни и поведение при повышении.
- Возникает ли ошибка до или после подключения второго ресурса.
- Гарантии конкурентности, фактически необходимые бизнес-операции.
Ссылки
- Microsoft: настройка уровней изоляции транзакций COM+
- Microsoft MS-DTCO: фаза активной транзакции
- The Open Group: модель транзакций XA и диспетчеров ресурсов
Нужно найти другой код? Найти другой код состояния или ошибки.