Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.17;
Скачать: CL | DM;

Вниз

Какие записи блокированы?   Найти похожие ветки 

 
Roma111111   (2003-02-20 14:23) [0]

У меня D6 и Firebird 1. Программа многопользовательская. Пользователи с разных рабочих мест добавляют и редактируют разные таблицы (3 шт.). Как узнать, какие записи конкретной таблицы заблокированы другими пользователями? А то при одновременном UPDATE программа зависает...

Заранее благодарен ...


 
Alexandr ©   (2003-02-20 14:26) [1]

в параметрах транзакции поставь nowait


 
Roma111111   (2003-02-20 14:32) [2]

В IBTransact? Что будет происходить "грязное чтение"?


 
Johnmen ©   (2003-02-20 14:39) [3]

Разве в слове nowait есть хотя бы намек на dirty или read ?
:)))



 
Desdechado ©   (2003-02-20 15:00) [4]

блокировки на уровне таблицы с клиента не видны.
а если юзеры изменяют разные записи, то вообще никаких проблем не должно быть.


 
Roma111111   (2003-02-20 15:24) [5]

А nowait записывать в строку params?


 
Johnmen ©   (2003-02-20 15:29) [6]

Если IBX или FIB, то даблклик на (F)IBTransaction.


 
Roma111111   (2003-02-20 15:31) [7]

А что реально устанавливает этот параметр, не будут данные оного юзера писаться поверх другого?


 
Johnmen ©   (2003-02-20 15:37) [8]

Модифицировать версию записи при коммите не дожидаясь коммита от другой транзакции, работающей с версией той же записи...
Короче, ставь, и будет радостно...:)))


 
Roma111111   (2003-02-20 15:39) [9]

нет мне это не нужно. если запись заблокирована, ее трогать нельзя ...


 
Anatoly Podgoretsky ©   (2003-02-20 15:54) [10]

Roma111111 (20.02.03 14:23)
Как это зависает, у других не зависает, значит у тебя неправильно что сделано.

Roma111111 (20.02.03 15:31)
Это штатный режим менять записи отредактированные другим пользователем, для этого базы и предназначены.

Roma111111 (20.02.03 15:39)
Не трогай раз не хочешь.


 
passm ©   (2003-02-20 16:01) [11]

Roma111111 (20.02.03 14:23)> Делать транзакции как можно короче по времени. И ничего узнавать о заблокированных записях не надо, за исключением взаимных блокировок.
IMHO.


 
Johnmen ©   (2003-02-20 16:03) [12]

Про блокировки в истинном понимании забудь ! Их нет в IB.


 
Roma111111   (2003-02-25 11:58) [13]

Всем спасибо!!!
Я поставил IBTransact параметр "Snapshot (concurrency, nowait)" и теперь при попытке изменить "заблокированную" запись выдается Exception, который я благополучно обрабатываю.



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

Текущий архив: 2003.03.17;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
14-54270
ZeroDivide
2003-02-28 09:18
2003.03.17
С последним днем зимы!


6-54137
Ihor Osov'yak
2003-01-25 00:53
2003.03.17
TServerSocket: Read error 998, Неверная попытка доступа к адресу


1-54033
Monak
2003-03-04 22:53
2003.03.17
Проблемки с файлами


14-54243
Masa
2003-02-28 11:42
2003.03.17
Подскажите, как прикрыть аську с помощью WinRoute ?


3-53844
Anonimus
2003-02-27 09:11
2003.03.17
Как скопировать поля DBGrida в буфер обмена?