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

Вниз

Как Access реализует блокировки? Как реализовать самому?   Найти похожие ветки 

 
vidiv ©   (2006-07-14 16:15) [0]

Хочу, чтобы несколько программ (моих) в сети изменяли один и тот же файл по сети. вот только не знаю как реализовать блокировки...
можно создать еще один файл, и вписывать в него очередь блокировок. Но если подумать, для этого самого файла тоже нужны блокировки... уже третий день засыпаю с мыслью о том, как же это делает Access. Просвятите


 
Сергей М. ©   (2006-07-14 16:19) [1]

Хреново он реализует.
Пока есть время - перпеходи на любую другую СУБД.


 
DVM ©   (2006-07-14 16:21) [2]


> Хреново он реализует.

А он хорошо и не должен. Access не многопользовательская СУБД, хотя все пытаются ее использовать именно в этом качестве.


 
Kbn   (2006-07-14 16:22) [3]

Ты написал программы без блокировки?


 
MsGuns ©   (2006-07-14 16:32) [4]

Если есть необходимость в многопользовательском одновременном редактировании одной и той же таблицы, то в акцесе это можно реализовать только с централизацией доступа посредством сервера приложений (трехзвенка).
Либо переходить на MS SQL Server


 
vidiv ©   (2006-07-14 16:34) [5]


> Пока есть время - перпеходи на любую другую СУБД.

Да меня собственно не СУБД интересует, а принцип блокировки... как обеспечить одновременный многопользовательский доступ к одному файлу.


> Ты написал программы без блокировки?

Хочу переписать под использование с NetBios. Сейчас использую TCP сервер, который собирает и хранит информацию.


 
Romkin ©   (2006-07-14 16:35) [6]

vidiv ©   (14.07.06 16:34) [5] Самое простое - свой файл блокировок. Вот только вопрос, как снимать блок, если клиент отвалился внезапно. Так что лучше именно сервер приложений сделать, однако. Это же просто


 
Marser ©   (2006-07-14 16:36) [7]

В лоб задача легко решается открытием с монопольным доступом...


 
oldman ©   (2006-07-14 16:36) [8]


> vidiv ©   (14.07.06 16:34) [5]
> .. как обеспечить одновременный многопользовательский доступ
> к одному файлу.


Некоторые СУБД блокируют только запись, а не весь файл... Что логично, правда?
:)))


 
MsGuns ©   (2006-07-14 16:38) [9]

>vidiv ©   (14.07.06 16:34) [5]
>Да меня собственно не СУБД интересует, а принцип блокировки... как обеспечить одновременный многопользовательский доступ к одному файлу.

Надо различать "файлы" и "таблицы баз данных". Тогда не будут возникать недоразумения с "блокировками", которые умирают вместе с локальными СУБД.

В серверных СУБД нет блокировок как класса. Там вопросы конфликтов разруливаются совсем другим механизмом. "Транзакции" называется.


 
Romkin ©   (2006-07-14 16:40) [10]

MsGuns ©   (14.07.06 16:38) [9] Эх! Как раз там-то блокировки и есть. Иногда даже с эскалацией :) Правда, не во всех


 
vidiv ©   (2006-07-14 16:43) [11]


> Marser ©   (14.07.06 16:36) [7]
> В лоб задача легко решается открытием с монопольным доступом.
> ..

Идея мне нравится... надо подумать над ней... благодарю


 
MsGuns ©   (2006-07-14 16:46) [12]

>Romkin ©   (14.07.06 16:40) [10]
>>MsGuns ©   (14.07.06 16:38) [9] Эх! Как раз там-то блокировки и есть. >Иногда даже с эскалацией :)

Это "неправильные" базы данных ;))))


 
pasha_golub ©   (2006-07-14 17:03) [13]


> vidiv ©   (14.07.06 16:43) [11]
>
>
> > Marser ©   (14.07.06 16:36) [7]
> > В лоб задача легко решается открытием с монопольным доступом.
>
> > ..
>
> Идея мне нравится... надо подумать над ней... благодарю
>

Я так и решил было дело.  Хотя СУБД кошерней. Мне нельзя было, а надстройку над уже имеющимся делал.


 
Val ©   (2006-07-14 17:13) [14]

>MsGuns ©   (14.07.06 16:46)
Какая из них: MS SQL, Oracle, DB2, Informix, Interbase(clones) - "неправильная"? ;)


 
MsGuns ©   (2006-07-14 17:22) [15]

>Val ©   (14.07.06 17:13) [14]
>Какая из них: MS SQL, Oracle, DB2, Informix, Interbase(clones) - "неправильная"? ;)

Валер, а где в интербэйзе (например) есть блокировки записей ?


 
Romkin ©   (2006-07-14 17:29) [16]

MsGuns ©   (14.07.06 17:22) [15] Есть, в том случае, если запись меняется одновременно разными транзакциями. Вот насчет Оракла сомневаюсь: он, кажись, пытается это разруливать.


 
Romkin ©   (2006-07-14 17:30) [17]

Но назвать это блокировкой - язык не поворачивается :) Это же не запрет чтения при записи


 
Val ©   (2006-07-14 17:30) [18]

Серёж, я просто за слова цепляюсь. У кого записей, у кого таблиц,  смешанные и т.д., но _блокировки_ есть и это нормально.



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

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

Наверх




Память: 0.51 MB
Время: 0.048 c
2-1153673419
Debilo
2006-07-23 20:50
2006.08.13
Скриншот экрана


2-1153987406
Константин_
2006-07-27 12:03
2006.08.13
Как запретить обновление отображения формы?


15-1152946131
SerJaNT
2006-07-15 10:48
2006.08.13
Мастерам JavaScript


2-1153806554
VitV
2006-07-25 09:49
2006.08.13
interbase+delphi - хэширование паролей


15-1153320537
k2
2006-07-19 18:48
2006.08.13
Такие люди работу ищут :) эх не ценят у нас молодежь :)