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

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

IBX deadlock [D7, IB6.x]


REA ©   (2003-01-09 11:19:00) 

Пробую сделать работу с таблицей на IBX в многопользовательском режиме. Возникают Deadlock, т.к. вся работа с таблицей в пределах одной транзакции (назависимо от типа транзакции, хотя поведение меняется если Snapshot или Comitted например). При Transaction.Commmit таблица закрывается и приходится переоткрывать, но зато работает. Сдается мне что я что то не так делаю. Делать запросами лень, поскольку IBX запрос readonly и придется UpdateSQL писать и неизвестно еще что.


Alexandr   (2003-01-09 12:44:00) [1]

у меня и так все получется, в отличие от...


REA   (2003-01-09 12:38:00) [2]

CommitRetaining работает, но измененная запись все равно блокируется, так что все же надежнее Commit и переоткрыть.

Alexander - будьте вежливы и все у вас получится.


passm   (2003-01-09 11:55:00) [3]

Использовать тразакцию на уровне приложения, IMHO, нужно как можно меньше и о-о-очень быстро и осторожно.
А дабы избежать Deadlock"ов лучше об этом думать при проектировании БД (стараться избегать пересекающихся транзакций).


REA   (2003-01-09 11:50:00) [4]

спасибо и на том


Delirium^.Tremens   (2003-01-09 11:49:00) [5]

CommitRetaining + F1
http://www.ibase.ru


Alexandr   (2003-01-09 11:48:00) [6]

а малограмотные обычно читают документацию до полного прояснения


Alexandr   (2003-01-09 11:47:00) [7]

table - наследие далекого прошлого и использовать его с interbase это всеравно что к поршу лошадь спереди приставить и так и ездить.

А тому, кто кебе про лень такое сказал, плюнь в харю.


REA   (2003-01-09 11:47:00) [8]

Спасибо. И при Commit оно закрывается обязательно?
А что есть CommitRetaining поясните малограмотному популярно, плз?


Delirium^.Tremens   (2003-01-09 11:45:00) [9]


> А зачем тогда table придумали?
> Не люблю я SQL - язык в языке. Чуть что поменял - запрос
> переписывать.
> Насчет дворников кстати это ты зря - лень главное качество
> программиста.

Что TIBTable, что TIBQuery, что TIBDataSet, все равно придется делать TIBTransaction.Commit (CommitRetaining). Иначе - Deadlock


REA   (2003-01-09 11:40:00) [10]

А зачем тогда table придумали?
Не люблю я SQL - язык в языке. Чуть что поменял - запрос переписывать.
Насчет дворников кстати это ты зря - лень главное качество программиста.


Alexandr   (2003-01-09 11:37:00) [11]

если лень, то иди в дворники работать.
Увы тут форум бессилен.


Наверх

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