Транзакции (было: пересчет итогов в форме)

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
StillZero
Ветеран
Сообщения: 454
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Контактная информация:

Сообщение StillZero »

В теме о пересчете итогов одним из утверждений было, то что необходимо оборачивать в транзакцию пересчет итогов в родительском файле при окончании изменений дочерних записей.

Если речь шла о сетевой программе, то мне не совсем понятно, что будут делать остальные пользователи, в момент от начала до завершения транзакции. Этот вопрос у меня лично возникает достаточно часто, видимо я не совсем понимаю сам механизм работы транзакций.

Вопрос: объясните на данном примере как все будет работать, с учетом многопользовательской программы
Написал: PAA(27)
Гость

Сообщение Гость »

Смотря какая база данных. Сетевой BTRIEVE/PERVASIVE может обрабатывать сотни
транзакций от разных пользователей в сек. Так что никто ничего ждать не
будет.

При проводке документа добавляется один документ в базу документа, и
обновляется две записи из файла счетов (пересчет остатков). Это самый
простой случай. Для TPS и DAT я не в курсе, там судя по все запущено и
требует большего геммороя. Для SQL все еще проще:), но об этом тебе другие
раскажут...

С уважением, Ставич Олег
Укрсиббанк г.Харьков

oldstav@ukrsibbank.com

(Добавление)

Зависит от задачи (какие транзакции) и какая база. В случае TPS будут ждать
друг друга, т.к. с началом транзакции ее файлы захватываются. Поэтому нельзя
включать в транзакцию диалоговые операции. Все должно делаться максимально
быстро. На нормальном сервере, если транзакции не претендуют на одни и те-же
записи (обрабатываются разные счета), то они могут идти параллельно.

WBR, Nick Tsigouro. MailTo:Nick@arsis.ru
Написал: ClaList(2)
Ответить