Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Блокировка доступа к базе данных / 23 сообщений из 23, страница 1 из 1
18.02.2004, 20:32
    #32414398
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка доступа к базе данных
Нужно, чтобы в процессе выполнения, вызываемого из VBA, запроса одним юзером остальные юзеры не имели доступа к базе данных. Т.е. допустим один юзер выполняет запрос на вставку. Нужно чтобы на время выполнения этого запроса для остальных юзеров база была не доступна. Как это сделать силами VBA?
...
Рейтинг: 0 / 0
18.02.2004, 20:44
    #32414417
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка доступа к базе данных
Никак. Не надо так делать.
...
Рейтинг: 0 / 0
18.02.2004, 23:06
    #32414490
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка доступа к базе данных
Никак
может есть и другие точки зрения???

Не надо так делать
наверное в это трудно поверить, но мне нужно делать именно так...
...
Рейтинг: 0 / 0
18.02.2004, 23:11
    #32414493
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка доступа к базе данных
Только программно. Завести таблицу, в которой будут отражаться действия юзеров. Разрешать делать то-то и то-то только при условии, что никто в этот момент не делает сё-то и сё-то.

При этом проверку надо делать в обе стороны: и не пускать в базу, когда некто выполняет запрос, и не давать выполнять запрос, пока кто-то есть в базе.

И плюс надо позаботиться о ситуациях, когда два юзера захотят что-то сделать одновременно. Обычная проверка может просто не уловить то, что надо.
...
Рейтинг: 0 / 0
18.02.2004, 23:13
    #32414494
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка доступа к базе данных
Саныч, спасибо!
...
Рейтинг: 0 / 0
18.02.2004, 23:30
    #32414499
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка доступа к базе данных
Кстати, Саныч, я хотел бы услышать твое мниние.
Как я говорил в одном из топиков, у меня возникла серьезная проблема со скоростью работы программы по сети. В качестве единственного ее решения было предложено ADP + SQL. Однако я считаю, что для моей задачи SQL Server это перебор. Появилась альтернативная идея организации работы программы.
При открытии каждой формы создается копия таблицы (таблиц), с которыми эта форма работает. Если быть точным, то копируется не вся таблица, а только необходимые данные. Далее пользователь работает не напрямую с таблицей (таблицами), а с ее копией. Если внесены изменения, то программа с помщью соответствующих запросов вносит изменения в основную базу. Причем на момент изменений база блокируется от доступа других пользователей. Таким образом обходить та ситуация, когда одна база открыта на нескольких машинах.
По-моему такой подход должен ускорить работу программы.
--
Интересуюсь конструктивной критикой и прочими предложениями и дополнениями...
--
А может быть это изобретение велосипеда???
...
Рейтинг: 0 / 0
18.02.2004, 23:34
    #32414502
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка доступа к базе данных
А почему слово услышать выделено? Типа, живой голос нужен? Ну, номер моей мобилы я тут где-то давал...

ИМХО, это изврат. Конечно, сделать так можно . Работать будет. Но юзеры будут тихим словом проклинать того, кто принял решение сэкономить на покупке SQL сервера.
...
Рейтинг: 0 / 0
18.02.2004, 23:44
    #32414505
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка доступа к базе данных
юзеры будут тихим словом проклинать
Программа работает на 25 машинах. Запросы выполнятся за секунды, т.е ожидание не должно быть долгим. Ситуация, когда несколько юзеров одновременно (или почти одновременно) обращаются к базе очень редкая.
...
Рейтинг: 0 / 0
19.02.2004, 00:09
    #32414515
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка доступа к базе данных
25 машин, 25 пользователей... Почему не SQL Server???
...
Рейтинг: 0 / 0
19.02.2004, 08:59
    #32414612
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка доступа к базе данных
>Почему не SQL Server???
Не знаю я его. А узнавать времени нет.
---
Пока что программа работает на 7 машинах. А на 25 будет работать, когда она будет закончена. Конечно планируется переход на SQL Server и, изложенный выше, вариант решения проблемы является промежуточным.
---
Хотелось бы услышать мнение о недостатках подхода.
...
Рейтинг: 0 / 0
19.02.2004, 09:29
    #32414642
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка доступа к базе данных
Причем на момент изменений база блокируется от доступа других пользователей. Таким образом обходить та ситуация, когда одна база открыта на нескольких машинах.


Вот если поднять многие топики этого замечательного парня, то будет яркий пример того, как НЕЛЬЗЯ делать. К примеру, не целесообразно обновлять записи по рекордсету, когда есть запросы...
Всеволод, я пользователь, очень люблю курить. Открыл я форму, притянул к себе данные - и припёрло мне покурить и по малой (а ещё страшнее по большой нужде) сходить. И заблокировал я всю базу.
Ситуация, когда несколько юзеров одновременно (или почти одновременно) обращаются к базе очень редкая.
Но она же всё равно рано или поздно возникнет. НЕЛЬЗЯ на это закладываться!
Или я не так понял всю глубину мысли?

P.S. Сиквел можно пока использовать в качестве хранилища данных и постепенно изучать методы, которые способны облегчить тебе выполнение той или иной задачи.
...
Рейтинг: 0 / 0
19.02.2004, 09:30
    #32414643
Roalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка доступа к базе данных
Когда-то видел как решали подобную задачу (несколько навыворот), под MSA2.0 и Win95. Количество пользователей и машин того же порядка.
У каждого пользователя свои данные и своя база, кроме того одна общая база.
Когда пользователь решает, что его данные созрели для всеобщего обозрения, он их отправляет в общую базу, причем не все данные, а только те которые могут понадобиться другим. Если данные устарели, то в зависимости от их типа, данные либо удаляются до их редактировании, либо помечаются как устаревшие, либо заменяются после редактирования.
Информация из общей базы подгружается в базу пользователя по мере необходимости и обрабатывается уже в ней.
Эдакий эквивалент распределенных вычислений :).
У этого метода было много недостатков, связанных с надежностью, быстродействием, разграничением прав, но свои задачи он решал. Без сервера.
...
Рейтинг: 0 / 0
19.02.2004, 14:45
    #32415477
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка доступа к базе данных
>...заблокировал я всю базу.
База блокируется ТОЛЬКО на момент выполнения соответствующих запросов.
...
Рейтинг: 0 / 0
19.02.2004, 14:55
    #32415495
zz
zz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка доступа к базе данных
ВсеволодНе знаю я его. А узнавать времени нет.

Шел как-то мужик по лесу, видит, лесоруб дерево рубит на редкость тупым топором. Мужик и говорит: "эй, уважаемый, подточи топор-то, дело быстрее пойдет!". На что лесоруб ответил: "Некогда мне!!! Времени мало, надо деревьев поскорей нарубить!"
...
Рейтинг: 0 / 0
19.02.2004, 15:18
    #32415555
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка доступа к базе данных
Уважаемый zz, я сказал, что интересуюсь конструктивной критикой по предложенному решению проблемы. Или вас интересуют мои личные дела и распределение моего свободного и рабочего времени, а также стоящие предо мной задачи по работе?
...
Рейтинг: 0 / 0
19.02.2004, 15:25
    #32415572
zz
zz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка доступа к базе данных
Нет. Ничего из вышеперичисленного меня совершенно не интересует. С чего вы это взяли? Совет Темного в данной ситуации вполне целесообразен, однако вы как-то странно на него отреагировали. Что и послужило поводом для написания мной постинга. В котором, кстати, не было ни слова ни о вашем личном времени, ни о стоящих перед вами задачах. С чего такая бурная реакция?
...
Рейтинг: 0 / 0
19.02.2004, 15:27
    #32415579
vist
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка доступа к базе данных
Вообще говоря сделал так сделал = сколько народу столько мнений!
У меня была подобная проблема- сделал так
В форме все поля несвязные
Запонлняем и insert into.....
Может быть я что-то не так понял...
...
Рейтинг: 0 / 0
19.02.2004, 15:32
    #32415591
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка доступа к базе данных
Выдержки из ЭТОГО топика:
>25 машин, 25 пользователей... Почему не SQL Server???
Не знаю я его. А узнавать времени нет.
---
Пока что программа работает на 7 машинах. А на 25 будет работать, когда она будет закончена. Конечно планируется переход на SQL Server и, изложенный выше, вариант решения проблемы является промежуточным.
-------------------------
>С чего такая бурная реакция?
Я тут не деревья рублю побыстрому, а занимаюсь серьезной объемной задачей, которую нужно качественно решить в максимально короткие сроки.

vist
А вот и единомышленники
...
Рейтинг: 0 / 0
19.02.2004, 15:55
    #32415660
Allll
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка доступа к базе данных
А меня запишите в единомышленники? :) - третьим буду?

У меня похожая ситуация - SQL сервера нет и не предвидится, а разбираться с блокировками во время редактирования как-то нужно.

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

Возможные блокировки отслеживал через On Error и цикл ожидания.
База работает около 2-х лет, пользуются 5 человек. Иногда при сохранении "задумывается". Никаких других эффектов/глюков от использования такой технологии пока не было.
...
Рейтинг: 0 / 0
19.02.2004, 17:29
    #32415935
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка доступа к базе данных
Вернусь к вопросу, по которому был создан этот топик.
В параметрах базы данных есть пункт "Режим открытия по умолчанию"->"общий доступ" и "монопольный доступ".
Возможно ли программно включать и выключать монопольный доступ в процессе работы программы или изменение этого параметра доступно только при перезапуске базы?
...
Рейтинг: 0 / 0
19.02.2004, 17:47
    #32415961
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка доступа к базе данных
В факе по сжатию БД есть способ для а200х.
...
Рейтинг: 0 / 0
19.02.2004, 18:01
    #32415992
vist
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка доступа к базе данных
А зачем на монопольное? В твоем случае ни один пользователь не испортит вставляемую запись по пионерскому принципу-кто первым встал-того и тапки
а твой юзер-всегда первый
...
Рейтинг: 0 / 0
19.02.2004, 18:04
    #32416001
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка доступа к базе данных
Vsevolod VА вот и единомышленники
Имеется в виду, что выполнение запроса INSERT INTO и блокировка, как было сказано, ВСЕЙ базы - одно и то же?

См. высказывание Hummer'a где-то в соседних топиках по поводу вопросов и путей
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Блокировка доступа к базе данных / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]