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

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

Правильные параметры для транзакций [D7, FireBird]


sektor ©   (2009-07-22 19:14:00) 

Доброго времени суток всем!
Программа работает с базой FireBird используя компонеты FIBPlus. В программе одновременно работает три потока. Каждый поток имеет свое подключение к базе, свои транзакции.
Параметры транзакций на чтение:
read
nowait
read_committed
rec_version


Парметры транзакций на запись:
write
read_committed
wait
no_rec_version
.

Во время работы приложения иногда  происходит зависание(висят все потоки).
В может быть причина? Может неохдимо изменить параметры для транзакций? Заранее спасибо.

PS. FireBird 2.1, FibPlus 6.8


StriderMan   (2009-07-23 10:20:00) [1]


> no_rec_version

а это зачем в пишущей транзакции?


topS   (2009-07-23 09:09:00) [2]


> Так у меня так и написано

а что это значит Вы уже конечно знаете?


Loginov Dmitry   (2009-07-22 20:52:00) [3]

> Во время работы приложения иногда  происходит зависание(висят
> все потоки).
> В может быть причина?


Вероятно у вас ошибка в программе. Возможно работа с потоками неверно организована.
Так же возможно, что не учтены особенности FireBird при разработке многопоточного
приложения. Также возможно, что один поток из-за wait ожидает, когда другой поток,
внесший изменения, подтвердит транзакцию. Кстати, зачем no_rec_version?
Попробуйте стандартный rec_version.


sektor   (2009-07-22 20:07:00) [4]

Виталий Панасенко(дом)
> > write> read_committed> wait> no_rec_version.может это?

Так у меня так и написано


Виталий Панасенко(дом)   (2009-07-22 19:54:00) [5]


> write
> read_committed
> wait
> no_rec_version.

может это?


Наверх

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