Главная страница
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.046 c
3-1149574520
zorik
2006-06-06 10:15
2006.08.13
использование dll в приложениях с компонентами IBX


3-1149675776
RDA
2006-06-07 14:22
2006.08.13
Помогите составить запрос


9-1132946060
Кефир87
2005-11-25 22:14
2006.08.13
Когда бокс больше чем фрустум


15-1153286445
Ega23
2006-07-19 09:20
2006.08.13
С Днём рождения! 19 июля


2-1153487386
bajenovv
2006-07-21 17:09
2006.08.13
помогите плиз !!!!