Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сообщение о причинах зависания IB [IB6.x]


kaif ©   (2003-06-18 19:35:00) 

Не так давно я задавал вопрос о зависании (точнее зацикливании) IB сервера:
http://www.delphimaster.ru/cgi-bin/forum.pl?look=1&id=1055255917&n=1

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


Жук   (2003-06-19 08:35:00) [1]

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


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

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


Alexandr   (2003-06-19 08:22:00) [3]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо