Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];

Вниз

Как 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.045 c
2-1153713090
Vovan33
2006-07-24 07:51
2006.08.13
Internet Explorer


15-1153159217
tesseract
2006-07-17 22:00
2006.08.13
в этот день


3-1149512548
Still Swamp
2006-06-05 17:02
2006.08.13
Access Violation в IBQuery.Prepare


2-1153895423
Константин_
2006-07-26 10:30
2006.08.13
Выборка определенного количества символов в SQL запросе


8-1140217666
WST
2006-02-18 02:07
2006.08.13
Картинки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский