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

Вниз

Подскажите, а как организовать блокировку записи MS SQL Server   Найти похожие ветки 

 
antoxa2005   (2006-07-05 15:24) [0]

Как с помошью ADO устанвоть блокировку изменяемой записи, что бы остальные пользователи не могли изменять записи т.е. что бы при попытке изменять запись выдать сообщение "запись изменяется другим пользователем".


 
Ega23 ©   (2006-07-05 15:42) [1]

Если именно "запись изменяется другим пользователем"., то создавать таблицу блокировок, перед изменением вставлять туда соответствующую запись, после изменения - удалять. Ну и перед тем, как вставлять в неё запись - проверять на наличие такой записи. Если есть - выводить сообщение. Если нет - захватывать записб для модификации.
Кстати, так можно определить каким именно пользователем изменяется запись.

Если проще - то смотреть в сторону Isolation Level.

P.S. Ты уж определись - MySQL у тебя или MSSQL - это 2 совсем разные СУБД.


 
antoxa2005   (2006-07-05 15:49) [2]

Я не могу определить что использовать MS SQL Server 2005 Express и работать привычно ч-з ADO или использовать Fire Bird 1.5.x и работать ч-з IB компоненты. С Access проблем ни каких, но необходим удаленный доступ к БД.


 
Megabyte ©   (2006-07-05 16:38) [3]


> Я не могу определить что использовать MS SQL Server 2005
> Express и работать привычно ч-з ADO или использовать Fire
> Bird 1.5.x и работать ч-з IB компоненты.

Все зависит от задачи!


 
antoxa2005   (2006-07-05 16:44) [4]

Задача простая несколько клиентов (3-7) добавляют, изменяют и удаляют записи. В БД корректируют справочники и т.д. все это спокойно работает на Access, но есть неолбходимость работать ч-з высокоскоростной Интеренет, следовательно нужен сервер c минимальной функциональностью. Но какой?


 
Виталий Панасенко   (2006-07-05 17:41) [5]


> antoxa2005   (05.07.06 15:24)  
> Как с помошью ADO устанвоть блокировку изменяемой записи,
>  что бы остальные пользователи не могли изменять записи
> т.е. что бы при попытке изменять запись выдать сообщение
> "запись изменяется другим пользователем".

у меня Де-жа-вю. уже ж обьясняли - какая разница, когда второй пользователь поменяет ту же запись, которую менял первый ! В Акцес как файл-серверной СУБД(в Парадоксе точно) при переходе НД в dsEdit ставится такая пометка(о блокировке). Но при работе с серверами - нет. Так как данные собственно меняются ПОСЛЕ Postа, никаких допдействий при вызове Edit не производится. Есть одни компонюхи, ктороые так умеют делать(из мне известных) под FireBird - FIB+. выставляешь одну опцию и при вызове Edit идет холостой UPDATE, что гарантирует 100% - если пользовтаель 1 начал редактировать запись, не записал и пошел курить, второй через полчаса прибьет его. Т.к. будет либо долго ждать "отвисания" "подвисшей" проги, либо получит инфу о конфликте конкуририующих апдейтов. при чем с каждой попыткой будет все злее и злее. хотя первый в этом и не виноват - откуда ему знать, что тут бардак


 
antoxa2005   (2006-07-06 02:16) [6]

Хорошо. Ну, а, как реализовать механизм "кто последний, тот и папа", что бы один пользователь изменял данные, в тоже врем другой изменял эти же данные и ни каких конфликтов не было, просто, кто последний сохранил, те данные и остались?


 
ЮЮ ©   (2006-07-06 05:18) [7]


> в тоже врем другой изменял эти же данные и ни каких конфликтов
> не было, просто, кто последний сохранил, те данные и остались?
>

Для этого как раз ничего делать и не надо, достаточно иметь ключевые поля, не изменяемые пользователями, чтобы запрос на update имел вид
UPDATE
...
Where <ключевое поле> = <значение>



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

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

Наверх




Память: 0.48 MB
Время: 0.027 c
1-1154356907
Anton22
2006-07-31 18:41
2006.09.10
Прозрачный фон Memo


15-1155600642
Админ
2006-08-15 04:10
2006.09.10
Должен ли будущий админ изучать математику, ТОЭ и физику?


3-1152007567
drashka
2006-07-04 14:06
2006.09.10
Ошибка при использованиии запроса Like с русским текстом


15-1155627978
umbra
2006-08-15 11:46
2006.09.10
вопрос про статическую библиотеку и С


15-1155709272
Term
2006-08-16 10:21
2006.09.10
Приложение под .NET