Текущий архив: 2003.05.22;
Скачать: CL | DM;
Вниз
Сетевое приложение под Interbase Найти похожие ветки
← →
e-master (2003-04-27 18:36) [0]Есть две программы одинаковых на двух машинах, работающих по сети под Interbase. При выборке данных всё нормально, а при изменении программа на той машине, которая была запущена позже - зависает. В чём дело? не в транзакциях ли ...
← →
e-master (2003-04-27 19:14) [1]у меня транзакции всегда открыты и завершаются CommitRetaining. это правильно?
← →
Johnmen (2003-04-28 00:05) [2]1. Если используется IBX - то нормально.
2. В каком месте зависает ?
3. Есть подозрение, что один из параметров транзакции выставлен wait. Поставь nowait.
← →
Zacho (2003-04-28 08:47) [3]
> Johnmen © (28.04.03 00:05)
> 1. Если используется IBX - то нормально.
Не обязательно. Во-первых, зависит от того, что для человека (и для задачи) "правильно", во-вторых от параметров транзакций, а в-третьих злоупотребление CommitRetaining может привести к "Too many savepoints .."
В общем, общее правило:
Транзакции должны быть как можно более короткими, допустимы длительные читающие Read Committed транзакции. Но все зависит от задачи.
Про транзакции советую почитать http://www.ibase.ru/devinfo/ibtrans.htm и остальные статьи на http://www.ibase.ru
← →
Johnmen (2003-04-28 09:35) [4]>Zacho © (28.04.03 08:47)
>CommitRetaining может привести к "Too many savepoints .."
А может и не привести...:)
Ты сам то когда-нибудь видел сию ошибку ?
← →
Zacho (2003-04-28 09:40) [5]
> Johnmen © (28.04.03 09:35)
Я - нет :) Но читал о ней неоднократно :) Считаю, что лучше заранее предупредить человека о возможных проблемах.
← →
e-master (2003-04-29 20:31) [6]2Zacho,Johnmen>да используется IBX. сейчас попробую поставить nowait, спасибо за ссылочку и предупреждения ;)
← →
kaif (2003-04-29 23:42) [7]Я очень интенсивно использую длинные глобальные транзакции в IBX, но для Insert и Update предпочитаю отдельные транзакции и как возможно более сокращаю время работы таких транзакций. В режиме CommitRetaining ничего опасного я не замечал, хотя стараюсь применять Commit, где возможно, например, в "OK" модальных окон. Самое глюкавое дело это RollbackRetaining, логику которого я не очень себе представляю и стараюсь вообще не применять.
← →
Johnmen (2003-04-30 00:06) [8]Еще добавлю, что поддержание RollbackRetaining появилось лишь начиная с версии 6.0. CommitRetaining - c 5.0.
Глюкавого поведения CommitRetaining не было замечено ни разу.
Ну а RollbackRetaining никогда не пользовался и не пользуюсь...:)
Страницы: 1 вся ветка
Текущий архив: 2003.05.22;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.006 c