![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Две транзакции [IB5.x]
AGAMEMNUM © (2003-08-12 12:39:00)
В форуме рекомендуют заводить две транзакции - пишущую и читающую, только не пишут как это сделать... есть IBSQL, IBDatabase, IBTransaction - куда тут еще одну транзакцию встроить и как с ней работать?
Zacho (2003-08-12 13:14:00) [1]
> AGAMEMNUM © (12.08.03 12:52)
Самый "правильный" способ - "вправить" исходники IBX, а именно метод SetTransaction и т.д., как-то давненько такое делал, уже смутно помню. Возможно, удастся ограничиться написанием наследника TIBCustomDataSet.
Еще способ (но весьма гемморойный) - CachedUpdates:=true; в DeleteSQL, ModifySQL, InsertSQL пишем какие-нибудь бессмысленные, но работоспособные запросы (типа SELECT 1 FROM RDB$DATABASE), берем 3 TIBSQL, которые подключаем к другой транзакции и в которых пишем "нормальные" запросы, а в обработчике события BeforePost присваеваем этим IBSQL параметры и запускаем запросы.
1-й способ - более трудоемкий, но сделать достаточно один раз, а потом постоянно пользоваться своим компонентом.
2-й способ - не требует разбираться в исходниках IBX, зато постоянно придется писать кучу кода в приложениях.
Alexandr (2003-08-12 13:03:00) [2]
можно и в IBX ввернуть 2 транзакции, если уже не ввернули.
искать тут
fibplus.com.ua
AGAMEMNUM (2003-08-12 12:53:00) [3]
а работать с двумя как и с одной я думаю - open да commit или есть особенности?
AGAMEMNUM (2003-08-12 12:52:00) [4]
...TIBDataSet сделать так, что бы чтение происходило в контексте одной транзакции, а модификация данных - в контексте другой ?вот именно это...
Zacho (2003-08-12 12:49:00) [5]
Можно и одной транзакцией обойтись. Все от задачи зависит. Опять же, непонятно, что именно тебя интересует: как вообще работать с несколькими транзакциями, или как в TIBDataSet сделать так, что бы чтение происходило в контексте одной транзакции, а модификация данных - в контексте другой ?
AGAMEMNUM (2003-08-12 12:48:00) [6]
а на IBExpress такое не забацать? мне на них надо... хотя описание кинь плиз, посмотру что за зверь... art_agamemnum@mail.ru
Zorik (2003-08-12 12:43:00) [7]
Такая возможность есть в компонентах FibPlus. Если интересует - могу скинуть описание.