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