Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.10;
Скачать: CL | DM;

Вниз

Сообщение о причинах зависания IB   Найти похожие ветки 

 
kaif ©   (2003-06-18 19:35) [0]

Не так давно я задавал вопрос о зависании (точнее зацикливании) IB сервера:
http://delphimaster.net/view/3-1055255917/

Так вот, хочу сообщить тем кому интересно, что причиной, похоже, оказались неявные транзакции, которые стартуют при открывании запросов в IBX.
Например, если оставить на форме IBDataSet.Active = True; или просто вызвать IBDataSet.Open, то стартует такая неявная транзакция.
После того, как я прописал явные старты транзакций IBTransaction.StartTransaction перед открытием запросов во всех окнах, где происходят изменения (update,delete) с последующими Commit, CommitRetaining или Rollback, зависания сервера прекратились полностью. Вот уже несколько дней пользователи работают в самом напряженном режиме и ни одного зависания пока нет.
Поэтому рекомендую тем кто сталкивался с такой проблемой использовать явный старт транзакций, где возможны какие-либо SQL-команды изменения записей.


 
Alexandr ©   (2003-06-19 08:22) [1]

как бы до корня причины ты не добрался...
Не может дело быть именно в AutoStart или не AutoStart
тут какой-то побочный эффект повлиял...


 
Zacho ©   (2003-06-19 08:28) [2]

Точно помню, было про что-то подобное на news://forums.demo.ru/epsylon.public.interbase , но найти в архиве конфы я это не смог, слишком уж большой архив :) Еще раз посоветую - спроси там, если хочешь докопаться до сути.


 
Жук ©   (2003-06-19 08:35) [3]

На ibase.ru была статья о неявных транзакциях и глюках, связанных с ними в D5.



Страницы: 1 вся ветка

Текущий архив: 2003.07.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
1-31223
Alibaba
2003-06-27 16:29
2003.07.10
TSpeedButton


14-31433
GeminiLI
2003-06-23 08:28
2003.07.10
Большой проэкт


14-31476
Onward
2003-06-23 00:10
2003.07.10
Строковые переменные...


3-31083
OlegM
2003-06-16 13:11
2003.07.10
Вопрос по MySQL


4-31566
Forest
2003-05-11 15:47
2003.07.10
findwindow( tedit , edit1 ) не работает...