Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
1-70311
Spartak
2003-05-08 13:51
2003.05.22
Отобразить процес копирования большого кол -ва файлов


7-70552
OlegM
2003-03-24 11:38
2003.05.22
А можно ли под 2000 помигать лампочками на клаве как в 98


7-70542
Alexsys
2003-03-15 16:12
2003.05.22
Работа с COM портом.


3-70182
Avreliy
2003-05-03 17:25
2003.05.22
Отказ работы ограничения NOT NULL!


1-70339
Le!
2003-05-09 07:25
2003.05.22
Как запустить файл с добавками.




   Наверх