MS SQL Linked Server использует DTC для синхронизации транзакций MS SQL и транзакций подключенной внешней БД (Firebird, InterBase, …)
В .Net Framework распределенные транзакции реализованы через объект TransactionScope
Для всех версий IBProvider
Запрет завершения транзакции, подключенной к DTC, через методы сессии. (Commit, Rollback)
ITransaction::GetTransactionInfo. Если транзакция подключена к DTC метод возвращает UOW (UnitOfWork) распределенной транзакции.
Исправлена реализация двухфазного коммита.
Двухфазный commit (Двухфазная транзакция)
Commit распределенной транзакции осуществляется в два этапа:
Фаза подготовки — все участники распределенной транзакции опрашиваются на возможность её завершения.
Фаза фиксации —
Если один из участников сообщит о невозможности выполнить commit, то всем отправляется сообщение на откат транзакции (rollback).
Таким образом, гарантируется, что все участники распределенной транзакции останутся в согласованном состоянии.
IBProvider v3
Дополнительный запрет на завершение транзакции, подключенной к DTC, через SQL-запросы.
Резюме
Мы постоянно работает над тем, чтобы предоставить клиентам надежное, функциональное и универсальное решение,
которое позволит реализовать любые проекты на Firebird и InterBase.
Новые релиз — это еще одна возможность почувствовать всю мощь современных средств разработки,
снизить затраты и решить свои задачи в кратчайшие сроки.
Дата публикации: 08.02.2008. Права на материал принадлежат: IBProvider. При перепечатке ссылка на сайт https://www.ibprovider.com/rus обязательна.