![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Транзакции в IBX [D6, IB6.x, FireBird]
alexandervasjuk © (2002-03-01 11:36:00)Без Commit другие клиенты не видят изменений. Commit закрывает все запросы, открывать заново долго. Что делать?
alexandervasjuk (2002-03-01 18:16:00) [1]я понимаю, но как БДЕ делала коммит и не перечитывала запрос
Fareader (2002-03-01 14:44:00) [2]Понимаешь, у BDE транзакции применялись автоматически, незаметно для тебя, а тут прийдется все делать ручками самому. Сам недавно ушел с BDE, но я пользуюсь не IBX-компонентами, FIBPlus - они быстрее. Конечно соазу трудно привыкнуть к "ручному управлению" транзакциями, но под BDE чего у меня все начинает тормозить.
alexandervasjuk (2002-03-01 14:27:00) [3]Fareader
1. CommitRetaining попробовал, вроде работает. Интересно что все-таки за проблемы?
2. Закладки первое что приходит на ум. Однако у меня все запросы вместе с элементами управления динамические, впрочем можно хранить их список. Но это все равно долго. Может я рано ушел от BDE?
3. Дифференцировать транзакции по запросам довольно сложно. Существуют запросы, изменения в которых должны видеть все, например каталоги.
deleon
Не хочется сразу спасаться бегством. Вообщето я на BDE горя не знал, но перспектива не устанавливать ее у клиентов меня радует. И потом я нашел тут массу вкусного, например информация о существующих таблицах, процедурах...
deleon (2002-03-01 14:03:00) [4]Пользоваться альтернативными компонентами доступа к IB (мне IBX сразу не понравился)
Fareader (2002-03-01 13:56:00) [5]Commit - подтверждает изменения данных, следовательно пока он не сделан никто этих изменений не видит. Но когда он происходит закрываются все датасет которые были привязаны на ту транзакцию, которую ты применяешь.
Пути решения:
1. Использовать не Commit, а CommitRetaining, но там возможны какие-то проблемы, я до конца не выяснял.
2. Перед Commit сделать закладки у датасетов, а после Commit открыть датасеты и вернуться по закладкам.
3. Используй для датасетов, которым "не нужны" эти изменения другую транзакцию, тогда они не закроются.