Microsoft access - використання бази багатьма користувачами в комп'ютерній мережі

Використання бази багатьма користувачами в комп'ютерній мережі.

Для обслуговування декількох користувачів додаток Access необхідно на файловому рівні конфігурувати по-різному. Кожен спосіб має свої переваги і недоліки, деякі з них перераховуються нижче.

• Мережеве розміщення. У даній конфігурації єдиний MDB-файл розташовується на мережевому сервері, і користувачі отримують доступ до бази даних при зверненні до сервера. Дані і виконувані модулі можуть міститися в єдиному MDB-файлі або розміщуватися на файловому сервері у вигляді декількох окремих файлів. Перевагою даної конфігурації є простота підтримки, оскільки при необхідності в оновлення потребує лише виконуваний файл. Однак, оскільки всі форми, звіти, модулі, запити, ЕХЕ-файли Access, а також всі бібліотеки DLL і т.п. повинні передаватися по мережі на робочу станцію, мережевий трафік невиправдано зростає, а продуктивність значно знижується. Ймовірно, в подібних конфігураціях слід використовувати пов'язані форми. Далі розглядаються проблеми зв'язування форм з даними і виникають при цьому конфлікти доступу.
У діалоговому вікні Options (Параметри), відображається при виконанні команд меню Tools Options (Сервіс / Параметри), у вкладці Advanced (Інші) є параметр Default open mode (Режим відкриття, визначений за замовчуванням). Тут можна визначити режим відкриття бази даних, тобто чи повинна вона відкриватися для монопольного доступу (тільки для одного користувача на весь сеанс роботи) або для загального доступу. У нашому випадку - загальний доступ.
Режим Shared (Загальний доступ) дозволяє відкривати базу даних декільком користувачам одночасно. При цьому Access в момент відкриття бази даних заносить інформацію про підключилися до неї користувачів в LDB-файл і задіє механізм блокування і звільнення сторінок і рядків.
Реплікація. При використанні схеми реплікації користувачі спільно обробляють дані, хоча дані насправді не є загальними, як це має місце в схемах мережевого розподілу або в розділених базах даних. У схемі реплікації кожен користувач або невелика група користувачів має власну копію даних, які за допомогою механізму реплікації Jet синхронізуються з іншою базою або базами даних. Одна з переваг такої схеми, коли кожному користувачеві надається копія даних, полягає в повному виключенні проблеми блокування, але замість них виникають проблеми реплікації, ступінь складності яких є практично такою ж. Іншим значною перевагою реплікації є можливість асинхронного доступу до даних для відключених від мережі користувачів. Разом з тим існує ще один недолік такої схеми: при спільному використанні джерела даних навіть невеликою групою користувачів все ж існує можливість виникнення як конфліктів доступу, так і проблем реплікації.
Блокування на рівні рядка
Основною перевагою блокування на рівні рядка є розширення доступу до бази даних для багатьох користувачів. При блокуванні єдиною редагованої записи багатьом користувачам надається доступ до більшого обсягу даних без виникнення конфліктів блокування або доступу до записів. Використання блокування на рівні рядка також дозволяє розробникам розширити межі використання песимістичній блокування. Таким чином, користувачам надаються більш знайомі й очевидні умови роботи, в ході якої вони виконують нескладні операції відкриття записи, її редагування і збереження змін. У попередніх версіях Access песимістична блокування не могла отримати широкого розповсюдження, оскільки сторінковий спосіб блокування обмежував кількість одночасно працюючих користувачів, які повинні були миритися з можливістю блокування внесених ними змін іншими користувачами. При цьому розробникам доводилося створювати схеми реалізації звичних для користувачів умов роботи (розширюються записи, тимчасові таблиці і т.п.). Блокування на рівні рядка є головним досягненням в Jet 4.0. Вона повинна знайти csoe застосування в найбільш популярних і надійних додатках.

Властивість RecordLocks і пов'язані інтерфейсні елементи

При відкритті в Access пов'язаної форми або набору записів є можливість накладення блокування на відповідний набір записів. Звичайно, ці параметри можна використовувати тільки при роботі з Jet, тоді як при використанні конфігурації програми Access клієнт-сервер передбачається установка режиму No Locks (відсутній).

Існує три режими блокування:

• No Locks (відсутній) - еквівалентний оптимістичній блокування,

• Edited Records (змінною записи) - еквівалентний песимістичній блокування,

• All Records (всіх записів) - блокування всіх записів набору. У багатокористувацьких додатках цей режим слід використовувати з обережністю.

Схожі статті