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

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

Какие записи блокированы? [D6, IB6.x]


Roma111111 ©   (2003-02-20 14:23:00) 

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

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


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

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


Johnmen   (2003-02-20 16:03:00) [2]

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


passm   (2003-02-20 16:01:00) [3]

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


Anatoly Podgoretsky   (2003-02-20 15:54:00) [4]

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

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

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


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

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


Johnmen   (2003-02-20 15:37:00) [6]

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


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

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


Johnmen   (2003-02-20 15:29:00) [8]

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


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

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


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

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


Johnmen   (2003-02-20 14:39:00) [11]

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


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

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


Alexandr   (2003-02-20 14:26:00) [13]

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


Наверх

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