![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сообщение о причинах зависания 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
тут какой-то побочный эффект повлиял...