Для специалистов: материал, изложенный в данной статье, требует высокой квалификации в программировании, включая вопросы взаимодействия и программирования в многопользовательской среде.
Данная статья применима к файлам баз данных Microsoft Access (MDB и ACCDB).
Аннотация
Разделение базы данных на клиентское и серверное приложения может потребоваться по различным причинам. Серверная база данных содержит таблицы и хранится на файловом сервере. В клиентской базе данных, которая содержит ссылки на таблицы серверной базы данных, хранятся все формы, запросы, отчеты, макросы и модули. Клиентская база данных устанавливается на рабочих станциях пользователей.
В данной статье рассказывается, как разделить базу данных вручную (без использования служебной программы "Разделитель баз данных").
Дополнительная информация
Чтобы разделить базу данных в Microsoft Office Access 2003 и более ранних версиях Access, выполните указанные ниже действия.
-
Создайте новую (пустую) базу данных Access.
-
В меню Файл выберите пункт Внешние данные, а затем — Импорт.
-
Укажите базу данных, которую требуется разделить.
-
На вкладке Таблицы нажмите кнопку Выделить все, а затем нажмите кнопку ОК.
Обратите внимание на то, что Access импортирует все таблицы в новую базу данных, которая является серверной базой данных. -
Сохраните новую серверную базу данных в общую сетевую папку и убедитесь в том, что все пользователи имеют полный доступ к этой папке.
-
Создайте еще одну новую (пустую) базу данных Access.
-
В меню Файл выберите пункт Внешние данные, а затем — Связь с таблицами.
-
Выберите только что созданную серверную базу данных.
-
На вкладке Таблицы нажмите кнопку Выделить все, а затем нажмите кнопку ОК.
Обратите внимание на то, что Access привяжет все таблицы в серверной базе данных к клиентской базе данных. -
В меню Файл выберите пункт Внешние данные, а затем — Импорт.
-
Выберите исходную базу данных, которую требуется разделить, и нажмите кнопку Импорт.
-
На вкладке Формы нажмите кнопку Выделить все. Повторите это действие для всех вкладок, кроме вкладки Таблицы. Поскольку все таблицы уже связаны, необходимо импортировать только оставшиеся объекты.
-
После выбора всех объектов, кроме таблиц, нажмите кнопку ОК.
Обратите внимание на то, что теперь все таблицы связаны, а остальные объекты — импортированы.
Чтобы разделить базу данных в Microsoft Office Access 2007, выполните указанные ниже действия.
-
Создайте новую (пустую) базу данных Access.
-
На вкладке Внешние данные выберите в группе Импорт элемент Access.
-
В диалоговом окне Внешние данные нажмите кнопку Обзор, выберите базу данных, которую требуется разделить, установите флажок Импорт таблиц, запросов, форм, отчетов, макросов и модулей в текущую базу данных. и нажмите кнопку ОК.
-
В диалоговом окне Импорт объектов нажмите на вкладке Таблицы кнопку Выделить все, а затем нажмите кнопку ОК.
Обратите внимание на то, что Access импортирует все таблицы в новую базу данных, которая является серверной базой данных. -
Сохраните новую серверную базу данных в общую сетевую папку и убедитесь в том, что все пользователи имеют полный доступ к этой папке.
-
Создайте еще одну новую (пустую) базу данных Access.
-
На вкладке Внешние данные выберите в группе Импорт элемент Access.
-
В диалоговом окне Внешние данные нажмите кнопку Обзор, выберите созданную ранее серверную базу данных, установите флажок Создать связанную таблицу для связи с источником данных. и нажмите кнопку ОК.
-
В диалоговом окне Импорт объектов нажмите на вкладке Таблицы кнопку Выделить все, а затем нажмите кнопку ОК.
Обратите внимание на то, что Access привяжет все таблицы в серверной базе данных к клиентской базе данных. -
На вкладке Внешние данные выберите в группе Импорт элемент Access.
-
В диалоговом окне Импорт внешних данных нажмите кнопку Обзор, выберите исходную базу данных, которую требуется разделить, установите флажок Импорт таблиц, запросов, форм, отчетов, макросов и модулей в текущую базу данных. и нажмите кнопку ОК.
-
В диалоговом окне Импорт объектов нажмите на вкладке Формы кнопку Выделить все и повторите это действие для всех остальных вкладок, кроме вкладки Таблицы, поскольку привязка к таблицам уже выполнена. Теперь необходимо импортировать только оставшиеся объекты, а затем нажать кнопку ОК.
Обратите внимание на то, что теперь все таблицы связаны, а остальные объекты — импортированы.
Примечания.
Эта база данных является клиентской. Эта клиентская база данных устанавливается на рабочие станции, чтобы у каждого пользователя была собственная копия клиентской базы данных.
Теперь база данных разделена, что позволяет повысить производительность. Теперь, когда пользователь открывает форму, эта форма открывается локально на компьютере пользователя, а не передается по сети. По сети передаются только данные в связанных таблицах.
Причины, по которым может потребоваться разделение базы данных
Ниже приведены типичные причины разделения базы данных.
-
Одна база используется по сети множеством пользователей.
-
Базу данных разрабатывает несколько человек, программа Microsoft Visual Source Safe не установлена.
-
Требуется, чтобы пользователи не могли вносить изменения в проект таблиц.
Наиболее распространенная причина разделения базы данных заключается в том, что одна база данных используется по сети множеством пользователей. Если просто хранить базу данных в сетевой папке, то при открытии пользователем формы, запроса, макроса, модуля или отчета эти объекты необходимо передать по сети каждому отдельному пользователю базы данных. При разделении базы данных у каждого пользователя будет собственная копия форм, запросов, макросов, модулей и отчетов. Следовательно, по сети необходимо будет передавать только данные в таблицах.
Примечание. Для разделения базы данных также можно воспользоваться служебной программой "Разделитель баз данных".