Вниз
Скачать: CL | DM;

Deadlock Update   Найти похожие ветки 

← →
ss300   (2004-05-26 09:19) [0]

доброе утро мастера!!
на сервере есть ХП

вот основной код:  

UPDATE Global SET LASTREGNUM = :Ret;
UPDATE Global SET Data = :NowDate;

Когда я с одного клиентского приложения вызываю процедуру
spUP.ExecProc;  работает ноормально.

а когда паралельно 2 клиента вызывает процедуру то на одном клиенте ошибка:
Deadlock update with concurrent update

Как устранить эту ошибку ? ..

спасибо


← →
Johnmen ©   (2004-05-26 09:26) [1]

Разобраться с конкурирующими транзакциями. см.ibase.ru


← →
Sergey13 ©   (2004-05-26 09:27) [2]

Может так.
UPDATE Global SET LASTREGNUM = :Ret, Data = :NowDate;
И потом. У тебя вся таблица должна апдейтится в процедуре?


← →
ss300   (2004-05-26 09:39) [3]

Да, вся таблица апдейтится

там всего лишь одна таблица


← →
ss300   (2004-05-26 09:47) [4]

может IBTransaction := true сделать ??


← →
Sergey13 ©   (2004-05-26 09:48) [5]

2ss300   (26.05.04 09:39) [3]
Ну тогда таблицу надо перед апдейтом блокировать, ИМХО. Странная задача какая то - несколько человек одновременно апдейтят всю таблицу. Может в консерватории что подправить надо?


← →
ss300   (2004-05-26 10:12) [6]

таблица блокируется когда первый юзер апдейтит!! и второй юзер не может апйдетит.. как разблокировать таблицу после того как первый юзер заапдетит ??


← →
Sergey13 ©   (2004-05-26 10:42) [7]

комит/ролбек снимают блокировку. Но у тебя, ИМХО, несколько другая ситуевина. Желательно блокировать таблицу перед апдейтом. Типа для ФБ1.5 select * from table for update With Lock. Для ИБ6.0 смотри ссылку в [1].
И еще раз повторю - странная задача у тебя. ИМХО, надо структуру править.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.019 c
6-1083150513
csr
2004-04-28 15:08
2004.06.20
Ошибка ТСР соединения


1-1086674669
Yurec66
2004-06-08 10:04
2004.06.20
Дата сервера Netware


14-1085691642
k@rt
2004-05-28 01:00
2004.06.20
Эксперты


1-1086603969
Алексей
2004-06-07 14:26
2004.06.20
Как сохранить в файл TListItem


1-1086432205
Narayan
2004-06-05 14:43
2004.06.20
a+b=c




   Наверх