Как сделать базу access многопользовательской?

Способы совместного использования базы данных Access

Существует несколько способов совместного использования базы данных Access в зависимости от потребностей и доступности ресурсов. В этой статье мы рассмотрим доступные варианты, преимущества каждого из вариантов и ресурсы для получения дополнительной информации.

В этой статье

Общие сведения о способах предоставления доступа к данным Access

Приложения баз данных меняются и увеличиваются с течением времени. Многие факторы влияют на требования и производительность, включая количество одновременных пользователей, сетевую среду, пропускную способность, задержку, размер базы данных, пиковое время использования и ожидаемые тарифы роста. Коротко говоря, если решение для базы данных прошло успешно, возможно, его потребуется развивать. К счастью, у Access есть более сложный путь, от простого к расширенному, который можно использовать для эффективного масштабирования решения. В следующей таблице перечислены сценарии доступа и рабочие нагрузки, которые помогут выбрать этот путь.

Предоставление общего доступа к одной базе данных

Это самый простой вариант с минимальными требованиями, но он обеспечивает наименьшую функциональность. При этом методе файл базы данных хранится на общем сетевом диске, и все пользователи одновременно его используют. Поскольку все объекты базы данных используются одновременно, несколько пользователей могут одновременно изменять данные, что ограничивает надежность и доступность. Может также снижаться производительность, поскольку все объекты базы данных пересылаются по сети.

Этот вариант подходит в том случае, если базу данных одновременно будут использовать несколько человек и пользователям не потребуется изменять структуру базы данных. Но этот метод менее безопасен, чем другие методы предоставления общего доступа к базе данных, так как у каждого пользователя есть полная копия файла базы данных, что повышает риск несанкционированного доступа.

Чтобы предоставить общий доступ к базе данных с помощью общей папки, выполните указанные ниже действия.

В домашних и малых офисных средах предоставьте общий доступ к папке с определенными людьми. Дополнительные сведения можно найти в разделе Общий доступ к файлам в сети в Windows 10.

Приложение Access должно быть настроено для открытия в режиме совместного доступа на компьютерах всех пользователей. Данный режим используется по умолчанию, однако это необходимо проверить: если пользователь откроет базу данных в монопольном режиме, другие пользователи не смогут работать с данными.

Запустите Access и на вкладке Файл выберите пункт Параметры.

В окне Параметры Access выберите пункт Параметры клиента.

В разделе Дополнительно в разделе режим открытия по умолчаниювыберите общий доступ, нажмите кнопку ОКи закройте Access.

Скопируйте файл базы данных в общую папку. Затем настройте атрибуты файла таким образом, чтобы разрешить доступ к файлу базы данных для чтения и записи. Для использования базы данных необходим доступ к ней с правами на чтение и запись.

На компьютере каждого пользователя создайте ярлык для файла базы данных. Дополнительные сведения можно найти в разделе Создание ярлыка на рабочем столе для программы или файла Office.

Совместное использование разделенной базы данных

Этот способ целесообразен при отсутствии сайта SharePoint или сервера базы данных. Вы можете предоставить общий доступ к разделенной базе данных в локальной сети. При разделении базы данных она реорганизуется в два файла: серверную базу данных, которая содержит таблицы данных, и клиентскую базу данных, в которой содержатся все остальные объекты базы данных (например, запросы, формы, отчеты). Каждый пользователь взаимодействует с данными с помощью локальной копии внешней базы данных.

Ниже перечислены преимущества разделения базы данных.

Повышенная производительность В сети используются только данные, а не таблицы, запросы, формы, отчеты, макросы и модули.

Повышенная доступность Транзакции базы данных, например редактирование записей, выполняются быстрее.

Улучшенная безопасность . Пользователи получают доступ к серверной базе данных через связанные таблицы; вероятность того, что злоумышленники могут получить несанкционированный доступ к данным через клиентскую базу данных, менее высока.

Повышенная надежность Если пользователь сталкивается с проблемой, а база данных неожиданно закрывается, то любое повреждение файла базы данных обычно ограничивается копией клиентской базы данных, открытой пользователем.

Гибкая среда разработки Каждый пользователь может независимо разрабатывать запросы, формы, отчеты и другие объекты базы данных, не влияя на работу других пользователей. Кроме того, вы можете разрабатывать и распространять новую версию клиентской базы данных, не нарушая доступ к данным, хранящимся в серверной части базы данных.

Дополнительные сведения можно найти в разделе разделение базы данных Access.

Предоставление общего доступа к данным на сайте SharePoint

Есть несколько способов предоставления доступа к данным Access на сайте SharePoint.

Связывающ Процесс связывания подключается к данным в другой программе, так что вы можете просматривать и редактировать последние данные в SharePoint и Access, не создавая и не сохраняя копии данных в Access. Если вы не хотите копировать список SharePoint в базу данных Access, но вместо этого вы хотите выполнять запросы и создавать отчеты на основе содержимого этого списка, вы можете создать ссылку на данные.

Местив Когда вы перемещаете данные из Access на сайт SharePoint, вы создаете списки на сайте SharePoint, которые остаются связанными с таблицами в базе данных. Мастер экспорта таблиц в SharePoint позволяет одновременно перемещать данные из всех таблиц и поддерживать их связь.

Об Несмотря на то что вы можете сохранить файл базы данных Access в OneDrive или библиотеку документов SharePoint, не рекомендуется открывать базу данных Access из этих папок. Файл может быть загружен локально для редактирования, а затем снова передан после сохранения изменений в SharePoint. Если вы открываете базу данных Access из SharePoint несколькими пользователями, может возникнуть несколько копий базы данных, что может привести к неожиданному поведению. Эта рекомендация применима ко всем типам файлов Access, включая одну базу данных, разделенную базу данных и форматы файлов ACCDB, ACCDC, ACCDE и ACCDR. Дополнительные сведения о развертывании Access можно найти в разделе развертывание приложения Access.

Предоставление общего доступа к данным с помощью сервера баз данных

Совместное использование базы данных можно организовать с помощью приложения Access и сервера баз данных (например, сервера SQL Server). Этот способ обеспечивает много преимуществ, но для него требуется дополнительное программное обеспечение — сервер баз данных.

Этот способ напоминает разделение баз данных, поскольку таблицы хранятся в сети, а у каждого пользователя есть локальная копия файла базы данных Microsoft Access, содержащая ссылки на таблицы, запросы, формы, отчеты и другие объекты базы данных. Преимущества этого метода зависят от используемого программного обеспечения сервера баз данных, но в общем случае они включают наличие учетных записей пользователей и избирательный доступ к данным, отличную доступность данных и удобные встроенные средства управления данными. Более того, большинство серверных приложений для работы с базами данных нормально работают с более ранними версиями Access, поэтому не требуется, чтобы все пользователи работали с одной и той же версией. Совместно используются только таблицы. Дополнительные сведения можно найти в разделе Миграция базы данных Access в SQL Server, Импорт или связывание данных в базе данных SQL Server, а также связывание или импорт данных из базы данных Azure SQL Server.

Преимущества совместного использования базы данных с помощью сервера баз данных

Высокая производительность и масштабируемость Во многих случаях сервер базы данных повышает производительность, чем единственный файл базы данных Access. Многие серверные продукты баз данных также обеспечивают поддержку очень больших баз данных размером примерно в 500 в течение интервала (2 ГБ) для файла базы данных Access (два гигабайта). Продукты сервера баз данных обычно работают очень эффективно, параллельно обрабатывая запросы (используя несколько собственных потоков в одном процессе для обработки запросов пользователей), а также свести к минимуму дополнительные требования к памяти при добавлении новых пользователей.

Повышенная доступность Большинство серверных продуктов базы данных позволяют создавать резервные копии базы данных во время ее использования. Таким образом, пользователям не нужно принудительно закрывать базу данных для резервного копирования данных. Более того, сервер баз данных обычно обрабатывает параллельное редактирование и блокировку записей очень эффективно.

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

Читать еще:  Как сделать выпадающий список в access 2007?

Автоматические возможности восстановления В случае сбоя системы (например, аварийного завершения работы операционной системы или отключения питания) некоторые серверные продукты баз данных имеют механизмы автоматического восстановления, которые восстанавливают базу данных до последнего состояния согласованности в течение минут, без администратора базы данных. участвовать.

Обработка на сервере Использование Access в конфигурации клиента и сервера помогает уменьшить сетевой трафик, обрабатывая запросы к базе данных на сервере перед отправкой результатов клиенту. Обработка сервером обычно более эффективна, особенно при работе с большими наборами данных.

Azure SQL Server Помимо преимуществ SQL Server, обеспечивает динамическую масштабируемость без простоев, интеллектуальной оптимизации, глобальной масштабируемости и доступности, исключения аппаратных затрат и сокращенного администрирования.

Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

Access. Особенности работы в многопользовательском режиме.

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

Важно помнить, что работа с базой данных в многопользовательской среде может вызывать пробле­мы, связанные с блокировкой данных и конфликтами доступа к ним. Подавление сообщений об ошиб­ках, недостаточное внимание к подобным вопросам либо надежда на благоприятное стечение обстоятельств не решает проблему. Несмотря на кажущуюся сложность работы в многопользовательской среде, понять механизм действия блокировки данных и способ обслуживания механизмом Jet нескольких пользователей достаточно просто. Пренебрежение подобными вопросами, как правило, приводит к возникновению бо­лее сложных проблем, затрагивающих пользователей, клиентов и влияющих на репутацию разработчика. Если для приложения не предусмотрено эффективное решение вопросов работы в многопользовательской среде, при работе с ним неизбежно будут возникать следующие проблемы:

• Новые записи не сохраняются. После ввода информации пользователь обнаруживает, что в базе данных она не появилась. Если подобная ошибка не повторяется, это говорит не об отсутствии проблемы, а о ненадежности приложения.

• Изменения существующих записей не сохраняются. Пользователь может даже не заметить, что вне­сенные им изменения не сохранились. Однако в дальнейшем может оказаться, что либо таблица ито­говых данных отсутствует, либо в инвентарном списке слишком много элементов, или может случиться так, что заказ важного клиента будет отправлен по неверному адресу. Подобные серьез­ные проблемы вполне могут оказаться не выявленными вовремя. Как правило, от них страдают посторонние люди.

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

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

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

• Сетевое размещение. В данной конфигурации единый MDB-файл располагается на сетевом серве­ре, и пользователи получают доступ к базе данных при обращении к серверу. Данные и выполня­емые модули могут содержаться в едином MDB-файле либо размещаться на файловом сервере в виде нескольких отдельных файлов. Преимуществом данной конфигурации является простота поддержки, поскольку при необходимости в обновлении нуждается лишь выполняемый файл. Однако, поскольку все формы, отчеты, модули, запросы, ЕХЕ-файлы Access, а также все библиотеки DLL и т.п. должны передаваться по сети на рабочую станцию, сетевой трафик неоправданно возрастает, а производительность значительно снижается. Вероятно, в подобных конфигурациях следует исполь­зовать связанные формы. Далее рассматриваются проблемы связывания форм с данными и возни­кающие при этом конфликты доступа.

• Разделенная база данных с размещенными в сети данными. Такая конфигурация по традиции на­зывается конфигурацией удаленной базы данных (отметим, что значение слова «удаленная» в чрез­вычайно динамичную эпоху Internet постепенно меняется и вскоре может устареть), поскольку данные отделены от выполняемого модуля или программного кода, хотя механизм баз данных и остается локальным. В отличие от конфигурации клиент-сервер, механизм баз данных Access на пользовательском ПК получает, обрабатывает, блокирует и снимает блокировку с данных, находя­щихся в MDB-файле на сетевом сервере. Работа в такой конфигурации зависит от механизмов баз данных одновременно работающих пользователей, а также от возможностей файлового сервера, касающихся поддержания сетевого графика. До настоящего времени при размещении приложений баз данных Access предпочтение отдают именно этому методу. Его преимуществом является высо­кая производительность и управляемость при корректном использовании. Поскольку при размеще­нии данных в сети по каналам связи передаются только они, сетевой трафик значительно снижается. Основной недостаток данной конфигурации заключается в том, что на каждом клиентском ПК необходимо устанавливать Access и выполняемый MDE- (скомпилированный вариант базы данных MDB) либо MDB-файл, что осложняет поддержку приложения. Тем не менее, существуют спосо­бы решения подобной проблемы.

• Репликация. При использовании схемы репликации пользователи совместно обрабатывают данные, хотя данные на самом деле не являются общими, как это имеет место в схемах сетевого распре­деления или в разделенных базах данных. В схеме репликации каждый пользователь или небольшая группа пользователей имеет собственную копию данных, которые посредством механизма репликации Jet синхронизируются с другой базой или базами данных. Одно из преимуществ такой схемы, когда каждому пользователю предоставляется копия данных, состоит в полном исключении проблемы блокировки, но вместо них возникают проблемы репликации, степень сложности которых являет­ся практически такой же. Другим значительным преимуществом репликации является возможность асинхронного доступа к данным для отключенных от сети пользователей. Вместе с тем существует еще один недостаток такой схемы: при совместном использовании источника данных даже небольшой группой пользователей все же существует возможность возникновения как конфликтов доступа, так и проблем репликации.

• Конфигурация клиент-сервер. В Access 2000 появилась новая возможность создания клиент-сервер­ных приложений на базе проекта Microsoft Access. В такой конфигурации удаленными являются как данные, так и механизм баз данных. Если данными управляет SQL Server, Oracle или какой-либо иной сервер баз данных, расположенный на центральном компьютере, он также решает вопросы блокировки и проблемы работы в многопользовательской среде. Это не означает, что разработчик избавлен от необходимости решения всех связанных с ними задач, просто ему приходится иметь дело с иными наборами свойств, возможностей и правил. Основными преимуществами такой конфигу­рации являются высокая производительность, стабильность, возможность обслуживания большого количества пользователей и выполнения множества задач. Наибольший недостаток данной конфи­гурации состоит в высокой стоимости и значительной сложности.

В данной главе рассматриваются вопросы, которые являются общими для сетевых конфигураций: схе­мы разделенной базы данных и реализации архитектуры клиент-сервер. О репликации рассказывается в главе 22.

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

Access и способы блокировки в Jet

Механизм Jet имеет схему блокировки, которая позволяет эффективно обслуживать несколько пользо­вателей. При использовании Jet с Access, а не с VB или каким-либо иным инструментом разработки необходимо учитывать, что некоторые действия выполняются по умолчанию. Данный раздел посвящен изучению этих вопросов.

Основные сведения о блокировке

Перед использованием приложения многопользовательской базы данных его следует разместить таким образом, чтобы пользователи имели к нему доступ, а также настроить для совместного использования. Существует несколько способов достижения этой цели.

В диалоговом окне Options (Параметры), отображающемся при выполнении команд меню Tools Options (Сервис / Параметры), во вкладке Advanced (Другие) имеется параметр Default open mode (Режим откры­тия, определенный по умолчанию). Здесь можно определить режим открытия базы данных, т.е. должна ли она открываться для монопольного доступа (только для одного пользователя на весь сеанс работы) или для общего доступа.

Читать еще:  Как сделать сводную в access?

Если выбран режим Exclusive (монопольный доступ), базу данных имеет право открывать только один пользователь. В этом случае Access изменяет заголовок LDB-файла, тем самым блокируя его (подробнее об этом см. в разделе «LDB-файл») и запрещая доступ к данным для всех других пользователей. Очевид­но, для многопользовательского приложения такая настройка использоваться не должна. Однако такие процедуры, как сжатие и восстановление, следует выполнять над базой данных, открытой для монополь­ного доступа.

Режим Shared (Общий доступ) позволяет открывать базу данных нескольким пользователям одновре­менно. При этом Access в момент открытия базы данных заносит информацию о подключившихся к ней пользователях в LDB-файл и задействует механизм блокировки и освобождения страниц и строк.

Эти и другие параметры можно задавать в командной строке во время запуска приложения Access. Некоторые из них перечислены в табл. 1.

Таблица 1 Параметры командной строки при запуске Access

Принципы создания многопользовательских баз данных в среде Microsoft Access

Изучить принципы создания многопользовательских баз данных в среде Microsoft Access.

Оглавление

  1. Освоить методы разделения базы данных, созданной в среде Microsoft Access, на собственно базу данных и приложение пользователя.
  2. Освоить методы создания нескольких приложений, работающих с единой базой данных в среде Microsoft Access.
  3. Изучить методы переноса нескольких взаимосвязанных файлов в среде Microsoft Access.

1. Разделение базы данных Microsoft Access

СУБД (система управления базами данных) Microsoft Access включена в пакет Microsoft Office Professional и в основном позиционируется как среда для создания настольных баз данных, работающих в однопользовательском режиме. Однако при установке MS Access в сетевом варианте она относится уже к архитектуре «клиент-сервер&#187 и позволяет создавать несколько приложений, которые могут работать параллельно с единой базой данных. Подобная архитектура может быть распределена по локальной сети и работать как на простейших одноранговых сетях, так и на сетях с выделенным сервером.

Монолитная база данных, созданная в среде MS Access, содержит следующий набор объектов:

В этом наборе только таблицы составляют собственно базу данных. Остальные элементы в большей степени относятся к приложению пользователя. Поэтому при разделении файла базы данных мы получим два файла с расширением .mdb : один файл будет содержать только таблицы, а второй — остальные объекты: формы, запросы, отчеты, макросы и модули (рис. 1).

Стандартно MS Access предлагает сохранить старое название за файлом, который будет содержать интерфейсную часть, то есть формы, запросы, отчеты, макросы и модули , а файл с таблицами , который будет содержать только данные, именовать по-новому. По умолчанию к имени этого файла добавляется суффикс _be .

Следует помнить, что процесс разделения в общем случае необратим, поэтому Мастер разделения базы данных просит подтвердить ваше желание разделить базу данных. Рекомендуем предварительно сохранить резервную копию разделяемой базы данных.

Последовательность действий при разделении базы данных в среде MS Access

  1. Выбрать команду меню Сервис > Служебные программы > Разделение баз данных .
  2. В появившемся окне подтвердить намерение разделить базу данных, нажав кнопку Разделить (рис. 2).

Рис. 2. Диалоговое окно подтверждения процесса разделения БД

Выбрать папку и имя файла, где будут храниться данные (таблицы). При этом вам будет предложено стандартное имя, например llibrary_be.mdb , которое вы можете изменить (рис. 3).

Рис. 3. Выбор места нахождения и имени файла с таблицами

Нажать кнопку Разделить . После завершения процесса разделения появится соответствующее сообщение и откроется файл с интерфейсом (рис. 4). Теперь таблицы в новой базе данных показаны как присоединенные, о чем свидетельствуют стрелки-указатели слева от имени таблицы. При этом изменяется ряд свойств и возможностей при работе с базой данных.

Рис. 4. Окно управления базой данных с интерфейсом пользователя

Назовем базу данных, которая содержит интерфейс, приложением. Теперь, находясь в этой базе данных, вы не можете изменять схему базы данных и свойства таблиц. Это можно делать, только открыв базу данных с таблицами . При попытке сделать это вы получите предупреждение (рис. 5).

Рис. 5. Предупреждение о невозможности изменения присоединенных таблиц

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

  1. Открыть файл-приложение.
  2. Перейти в главное меню и выбрать команду Сервис > Служебные программы > Диспетчер связанных таблиц . Откроется диалоговое окно конфигурирования пути к файлу с таблицами (рис. 6).

2. Разделение базы данных при наличии кнопочной формы

Если при разработке интерфейса вы использовали кнопочную форму, то процесс разделения несколько усложнится.

Прежде всего, надо вспомнить, что при создании и редактировании кнопочной формы MS Access создает дополнительную системную таблицу, которая называется Switchboard Items . Эта таблица хранит информацию о содержании отдельных страниц кнопочной формы и командах , назначенных каждой кнопке.

В соответствии с вышесказанным следует отметить, что данная таблица относится к интерфейсу, а не к данным . Поэтому при разделении базы данных эту таблицу необходимо хранить в файле Приложение . Однако при автоматическом разделении эта таблица вместе со всеми другими попадает в файл с таблицами . Теперь необходимо ее скопировать в файл -приложение и удалить из файла с таблицами .

    Удаляем таблицу из базы данных Приложение :

3. Создание нового приложения, работающего с той же базой данных

Для того чтобы создать новое приложение, которое работает с уже существующей базой данных, необходимо выполнить следующие действия:

  1. Создать новую базу данных в MS Access.
  2. Выполнить операцию присоединения тех таблиц из базы данных, которые необходимы для работы данного приложения: команда Файл > Внешние данные > Связь с таблицами . В общем случае это могут быть все таблицы. После этого вы снова увидите окно выбора базы данных и, выбрав файл с базой данных, перейдете к окну диспетчера связанных таблиц.
  3. После выполнения операции присоединения можно приступать к разработке интерфейсных форм, запросов, отчетов и макросов для нового приложения.

Среда MS Access обеспечивает корректную одновременную работу нескольких приложений с единой базой данных, используя встроенную систему блокировок, то есть при попытке одновременного редактирования одной и той же записи несколькими пользователями право редактирования будет предоставлено тому приложению, которое первым выйдет на процесс изменения. Для остальных приложений редактируемая запись будет заблокирована до окончания процесса изменений и перехода к следующей записи.

Совместное использование баз данных Access

Лекция 14

Базы данных Microsoft Access могут использоваться одновременно несколькими пользователями в сети. Предоставить общий доступ к базе данных можно несколькими способами:

  • поместив всю базу данных в общую папку в сети;
  • поместив в общей папке сети только таблицы базы данных;
  • обеспечив подключение к базе данных через Интернет;
  • с помощью репликации;
  • с помощью СУБД SQL Server.

Публикация в сети всей базы данных

Чтобы предоставить совместный доступ к базе данных Access, ее можно поместить на файловый сервер или в общую папку на рабочей станции. Это самый простой метод обеспечения совместного доступа к базе данных и всем ее объектам: формам, отчетам, запросам, макросам и модулям. Он подходит, если нужно, чтобы все пользователи могли использовать одни и те же объекты базы данных одинаковым способом.

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

Публикация в сети таблиц базы данных

Можно предоставить совместный доступ в сети лишь к таблицам в базе данных Access. Для этого необходимо разделить базу данных на файл объектов данных (в нем хранятся таблицы) и файл объектов приложения (в нем хранятся все остальные объекты — формы, запросы, отчеты, страницы доступа к данным, макросы и модули VBA). При этом в файле объектов приложения устанавливаются связи с таблицами, хранящимися в файле объектов данных.

После разделения базы данных файл объектов данных помещается на файловый сервер или в общую папку на рабочей станции, чтобы предоставить общий доступ к таблицам, а файл объектов приложений — на компьютер пользователя в виде локальной копии.

В этом случае производительность базы данных будет несколько выше, чем при совместном доступе ко всей базе данных, поскольку по сети будут передаваться только данные из таблиц. При этом отдельный пользователь может настроить формы, отчеты и прочие объекты из файла объектов приложения в соответствии со своими индивидуальными потребностями. Эти изменения не отразятся на остальных пользователях, которые используют свои локальные копии файла объектов приложения.

Публикация базы данных в Интернете

Объекты базы данных можно предоставить в совместное использование через Интернет, создав на их основе страницы HTML , которые можно отобразить в программе просмотра Интернета, такой как Internet Explorer (см. другую лекцию).

Совместная работа с базой данных с помощью репликации

Портфельная репликация Windows позволяет использовать для работы с файлом (в том числе с базой данных) два компьютера: например, компьютер в офисе и переносной компьютер. Можно создавать реплики (специальные копии) базы данных Access для хранения на разных компьютерах и синхронизировать изменения в них. Аналогично несколько пользователей могут работать со своими копиями — репликами базы данных, которые могут быть синхронизированы по сети, с помощью удаленного доступа к сети или через Интернет.

Совместный доступ к базе данных с помощью SQL Server

Если в сети организации установлена СУБД SQL Server, ее можно использовать для совместной работы с базой данных Access. Для этого необходимо создать новое клиент-серверное приложение (на основе базы данных Access).

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

Для обозначения таких преобразований часто используется термин “миграция”.

Под миграцией приложений понимается целевое преобразование приложения с изменением его внутренней структуры и сохранением внешнего интерфейса.

Таким образом, к миграции относится и преобразование приложения, созданного в среде Access 2002, в двухуровневое клиент-серверное приложение, в котором обработка данных выполняется сервером базы данных (то есть SQL Server).

При переносе базы данных Access в SQL Server, кроме таблиц, переносятся индексы и связи между таблицами. При этом индексы отображаются в соответствующие объекты SQL Server (индексы, использующиеся в Access и SQL Server, очень похожи, отличие состоит только в том, что SQL Server не поддерживает индексы по убыванию).

Замечание: из всего сказанного видно, что перенос приложения Access на платформу SQL Server означает его фактическую переделку в новое приложение. Остается только внешний вид старого приложения Access (интерфейс). При этом новое приложение начинает функционировать под мощными средствами SQL Server, которые и предоставляют все необходимые возможности для совместного доступа.

Режимы работы с базой данных в сети

База данных может быть открыта пользователем в сети в одном из четырех режимов.

Открытие в режиме общего доступа. База данных открывается для чтения и записи. Другие пользователи тоже могут открыть базу данных (в любом режиме).

Открытие в режиме монопольного доступа. База данных открывается для чтения и записи. Другие пользователи не смогут открыть базу данных, пока она не будет закрыта пользователем, открывшим ее в режиме монопольного доступа.

Открытие в режиме общего доступа только для чтения. База данных открывается только для чтения. Другие пользователи тоже могут открыть базу данных (в любом режиме).

Открытие в режиме монопольного доступа только для чтения. База данных открывается только для чтения. Другие пользователи не смогут открыть базу данных, пока она не будет закрыта пользователем, открывшим ее в режиме монопольного доступа.

Пользователь может открыть базу данных в любом из указанных режимов, указав его следующим способом: выбрать команду Файл/ Открыть; в появившемся диалоговом окне “Открытие файла базы данных” раскрыть список всех возможных режимов открытия базы данных (рис. 28.1).

Рис. 28.1. Список режимов открытия базы данных

Если база данных (файл с расширением mdb) открывается в режиме общего доступа, Microsoft Access создает файл блокировок с таким же именем, как база данных, но с расширением Idb, который располагается в той же папке, где хранится файл базы данных.

В файле блокировок сохраняется имя компьютера (например, MYCOMP) и регистрационное имя пользователя базы данных (например, Admin) для каждого пользователя, открывшего базу данных для совместного использования. Файл блокировок используется Microsoft Access во время совместной работы пользователей с файлом базы данных. Этот файл автоматически удаляется после того, как последний пользователь закроет базу данных.

Методы управления блокировками записей

Пока один пользователь редактирует запись, Access позволяет автоматически запретить другим пользователям изменять ее до тех пор, пока первый пользователь не закончит ее правку. Предоставление одному пользователю исключительного права доступа к записи называется блокировкой.

Существует три параметра блокировки (три метода блокировки) записей в базе данных Access.

Отсутствует (No Locks). Изменяемая запись не блокируется. При попытке сохранить измененную запись, которую в это же время изменил другой пользователь, на экране появляется сообщение, предлагающее следующие возможности: сохранить данный вариант записи, уничтожив изменения, внесенные другим пользователем; скопировать свою, измененную запись в буфер обмена; отказаться от собственных изменений. Этот параметр позволяет изменять записи в любое время, но при внесении изменений разными пользователями могут возникать конфликты.

Изменяемой записи (Edited Records). Microsoft Access блокирует изменяемую в данный момент запись, не позволяя изменять ее другим пользователям. Заблокированными могут оказаться также записи, расположенные рядом на диске. Если другой пользователь попытается изменить заблокированную запись, в его объекте в режиме Таблицы появится маркер заблокированной записи (перечеркнутый круг). Данный параметр гарантирует завершение всех начатых изменений. Это хороший выбор, если конфликты совместного доступа к записи с другими пользователями возникают редко.

Всех записей (All Records). Microsoft Access блокирует все записи формы или объекта в режиме Таблицы (и базовых таблиц) на весь период их открытия, поэтому другие пользователи не могут изменить или заблокировать записи. Этот параметр накладывает слишком жесткие ограничения. Его следует использовать только в тех случаях, когда есть уверенность, что конкретно вы имеете приоритетное право на изменение записей(то есть право, заданное администратором).

Чтобы установить параметр блокировки записей в сети (то есть выбрать метод блокировки) надо выбрать команду Сервис/Параметры; в появившемся диалоговом окне “Параметры” установить необходимый переключатель (рис. 28.2).

Рис. 28.2. Диалоговое окно Параметры

Кроме возможности выбора метода блокировки Access предоставляет возможность выбора одного из двух уровней блокировки:

Блокировка записей. Блокируется только редактируемая запись.

Блокировка страниц. Блокируется страница памяти на диске, которая может содержать несколько соседних записей (4 Кбайт памяти на страницу).

Чтобы задать уровень блокировки надо установить флажок “Блокировка записей при открытии БД” (рис. 28.2) диалогового окна “Параметры”, если нужна блокировка на уровне записей, или сбросить этот флажок, если нужна блокировка на уровне страниц.

Предотвращение конфликтов при блокировке записей в сети

Следующие четыре параметра помогают избежать конфликтов при блокировке записей в сети ( рис. 28.2):

Период обновления (Refresh interval). Этот параметр задает число секунд, по истечении которых Microsoft Access автоматически обновляет записи в объекте в режиме Таблицы или в режиме Формы. При обновлении текущего объекта в режимах Таблицы или Формы отображаются изменения в существующих записях, причем записи не сортируются заново, не добавляются новые и не убираются с экрана удаленные записи. Для того чтобы увидеть эти изменения, необходимо выполнить операцию обновления данных, например, с помощью комбинации клавиш +.

Период повтора обновления (Update retry interval). Этот параметр задает число миллисекунд, по истечении которых Microsoft Access автоматически пытается сохранить измененную запись, заблокированную другим пользователем.

Число повторов обновления (Number of update retries). Этот параметр задает число попыток сохранения измененной записи, заблокированной другим пользователем.

Период обновления ODBC (ODBC refresh interval). Этот параметр задает интервал времени в секундах, после которого Microsoft Access автоматически обновляет записи, доступ к которым осуществляется по протоколу ODBC. Для того чтобы увидеть эти изменения, необходимо выполнить операцию обновления данных, например, с помощью комбинации клавиш +.

Особенности совместного изменения объектов

Внесение изменений в объекты базы данных при работе в сети характеризуется следующими особенностями.

Хотя допускается изменение базы данных во время работы с ней других пользователей, лучше создать макеты большинства объектов до того, как другие пользователи получат возможность открыть базу данных в сети. Для того чтобы при внесении серьезных изменений в структуру базы данных запретить другим пользователям доступ к этой базе данных, следует при открытии базы данных выбрать режим Монопольно (Open Exclusive).

Если же вы открыли базу данных в режиме общего доступа и начинаете изменять структуру данных, то при условии, что в этот момент вы — единственный пользователь этой базы данных, Access 2002 автоматически временно переведет вашу базу данных в монопольный режим. Так что другие пользователи не смогут открыть эту базу данных, пока вы не закончите работу с изменениями структуры объектов. После этого база данных автоматически возвращается в режим общего доступа. Но если в такой момент вы — не единственный пользователь базы данных, то Access разрешит внести лишь незначительные изменения в дизайн объектов, например настройки печати.

Если другой пользователь открыл таблицу или просматривает данные в запросах, формах или отчетах, для которых эта таблица является источником данных, изменять структуру этой таблицы нельзя. Появляется сообщение, что таблица доступна только для чтения.

Если объекты зависят друг от друга, обновляйте их все одновременно, чтобы другие пользователи не начали работать с несогласованными версиями объектов.

Если вы внесли изменения в запрос, форму или отчет, открытый другими пользователями, им придется закрыть и снова открыть измененный объект, чтобы получить его обновленную версию.

Ссылка на основную публикацию
Adblock
detector