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

Вниз

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

 
beginer   (2004-10-25 12:07) [0]

Подскажите,пожалуйста,как можно заблокировать уже редактируемую запись с помощью транзакций.Если не трудно приведите какой-нибудь примерчик,а то ума не приложу что и где писать надо


 
Карелин Артем ©   (2004-10-25 12:12) [1]

IB не блокировщик.


 
Johnmen ©   (2004-10-25 12:15) [2]

Можно сделать псевдоблокировку.
Как - написано здесь ibase.ru, ищи...


 
HSolo ©   (2004-10-25 12:17) [3]

http://ibase.ru/devinfo/pslock.htm


 
beginer   (2004-10-25 12:25) [4]

Прочитал,но так и не понял,что делать нужно.А на пальцах это объяснить никак нельзя?


 
}|{yk ©   (2004-10-25 12:56) [5]

написать в запросе for update


 
beginer   (2004-10-25 12:58) [6]

А кто-нибудь из присутствующих делал подобные блокировки в своих программах?


 
Johnmen ©   (2004-10-25 13:12) [7]

Ты все же почитай по ссылке HSolo ©   (25.10.04 12:17) [3]
особенно п.4


 
Роман Снегирев   (2004-10-25 13:41) [8]

select ... for update with lock
но тогда нужен FB 1.5 и компоненты подходящие (FibPlus например)


 
Vemer ©   (2004-10-25 14:24) [9]

ИМХО это кривой способ блокировки, т.к. при зависании клиента записи могут стать надолго недоступными. Поля статуса + разруливание на клиенте/в ХП - намного проще.


 
vv_fran   (2004-10-25 16:26) [10]

У меня тоже, типа как у Vemer, но через таблицу блокировок - в ней № записи и кто открыл. Чужие записи открываются только на чтение.


 
Роман Снегирев   (2004-10-25 17:56) [11]

to Vemer and vv_fran
ну вот рухнет приложение у одного из клиентов, и что дальше? а дальше то, что записи навечно (до вмешательства админа) остануться "заблокированными"


 
Vemer ©   (2004-10-25 19:19) [12]

В моем случае посмотреть, какие записи (и кем) заблокированы и освободить их намного проще. Аварийную кнопку хоть каждому пользователю и лог ее нажатий.


 
vv_fran   (2004-10-26 10:24) [13]

В догонку  Vemer - у меня в приложении есть пункт меню "Сбросить блокировку". И он нужна только если комп. сломался физически. При повторном запуске приложения таблица блокировки обновляется.


 
Vemer ©   (2004-10-26 12:28) [14]

Вдогонку самому себе - на SQL.Ru сурьезные люди, сурьезно занимающиеся БД за блокировку транзакцией вообще руки сразу предлагают отрывать прогерам )). Так что можно сразу готовиться быстро убегать от благодарных юзеров.


 
kdv   (2004-10-26 18:12) [15]

to Vemer:

если б ты почитал про реализацию with lock в IB, то понял бы, что update от select with lock не отличаются. т.е. они отличаются конечно, но в обоих случаях генерится версия. Кроме того, если в после update клиентский софт отвалится, то точно так же версии "застрянут". Застревают они не навсегда, а до тех пор, пока сервер не обнаружит что клиент отвалился. в зависимости от настроек сервера и tcp это может быть от "моментально" до "3 минуты" по умолчанию.

Так что в данном случае with lock наоборот, лучше чем ручной update.

насчет "сурьезных людей", которые "за блокировку ..." - любая модификация данных это блокировка, до окончания транзакции.
И в IB/FB даже есть блокирование таблиц целиком при старте транзакции и по ходу. И в версионнике всегда (!) блокировки намного легче и менее страшные. чем в блокировочном сервере.
К тому же, большинство коммерческих серверов именно стремится к версионности. Хотя бы будущая версионность в Yukon, как будто прямо срисованная с IB/FB (а не с Оракла, к примеру).



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

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

Наверх




Память: 0.5 MB
Время: 0.023 c
1-1099477729
YeasU
2004-11-03 13:28
2004.11.21
Почему StrLen(PChar(Str:string)) возвращает 0 ?


1-1099654912
Новичек
2004-11-05 14:41
2004.11.21
Передача параметров в dll.


6-1095312364
integral9
2004-09-16 09:26
2004.11.21
обработка исключения EidHTTPProtocolException


3-1098350384
Samick
2004-10-21 13:19
2004.11.21
чтобы при вводе в Edit1 допустим букву "А"


14-1099450861
Думкин
2004-11-03 06:01
2004.11.21
С днем рождения! 3 ноября