Уровень изоляции транзакции в TSQLTransaction

Добавлено:
24.05.2019 11:05:55
AndrewM
Добрый день. Подскажите, пожалуйста, правильный формат записи в TSQLTransaction.Params (из SQLdb) уровня изоляции транзакции (например, read commited). Работа совместно с Firebird. Такое впечатление, что установленная по умолчанию работает как snapshot - изменения подтвержденные по commit в другой транзакции видны только после переоткрытия читающей транзакции (переоткрытие только запроса не помогает)
Re: Уровень изоляции транзакции в TSQLTransaction

Добавлено:
26.05.2019 20:44:08
zoltanleo
AndrewM писал(а):Подскажите, пожалуйста, правильный формат записи в TSQLTransaction.Params (из SQLdb)
Я не припомню, чтобы на этом форуме кто-то работал со встроенными лазаровскими компонентами доступа к FB. Есть альтернативные проверенные клоны от IBX/FIB+ (например, дельфевый порт на Лазарус
IBX или его допиленный вариант а-ля FIB+:
IBX от
*Rik*).
И вдогонку, можно использовать UIB или Zeos (посмотри
тут)
Re: Уровень изоляции транзакции в TSQLTransaction

Добавлено:
27.05.2019 06:54:20
Vadim
AndrewM
Установленная по умолчанию находится в TSQLTransaction.Action. Посмотрите, что там у Вас стоит...
Re: Уровень изоляции транзакции в TSQLTransaction

Добавлено:
27.05.2019 09:37:49
AndrewM
Vadim, в Action прописано действие для завершения транзакции по умолчанию. Речь немного о другом: есть две транзакции читающая и пишущая. После явного подтверждения пишущей по commit переоткрываю запрос, открытый в читающей транзакции. И он не видит изменения в таблице, сделанные в пишущей транзакции. Изменения становятся видны только после того как закрыть и открыть читающую транзакцию, а не только запрос.
Zoltanleo, благодарю. Пожалуй, воспользуюсь Вашим советом и заменю компоненты (попробовал в ZEOS - работает - при установке уровня изоляции в read_commited, изменения в читающей транзакции видны после переоткрытия запроса, а не всей читающей транзакции). ZEOS привлекает возможностью работать не только с Firebird.