Особенности внешних подключений
-
Внешние соединения используют по умолчанию предложение
WITH COMMON TRANSACTION
и остаются открытыми до закрытия текущей транзакции. Они могут быть снова использованы при последующих вызовах оператора EXECUTE STATEMENT, но только если строка подключения точно такая же. Если включен пул внешних соединений, то вместо закрытия соединения, такие соединения будут попадать в список неактивных (простаивающих) соединений; -
Внешние соединения, созданные с использованием предложения
WITH AUTONOMOUS TRANSACTION
, закрываются после выполнения оператора или попадают в список неактивных соединений пула (если он включен); -
Операторы
WITH AUTONOMOUS TRANSACTION
могут использовать соединения, которые ранее были открыты операторамиWITH COMMON TRANSACTION
. В этом случае использованное соединение остаётся открытым и после выполнения оператора, т.к. у этого соединения есть, по крайней мере, одна не закрытая транзакция. Если включен пул внешних соединений, то вместо закрытия соединения, такие соединения будут попадать в список неактивных (простаивающих) соединений; -
Если локальная транзакция запущена в режиме изолированности
READ COMMITTED READ CONSISTENCY
и внешний источник данных не поддерживает данный режим изолированности, то внешняя транзакция будет запущена в режиме изолированностиSNAPSHOT
(CONCURRENCY).