Репликация баз данных
Глава 18. Репликация баз данных
Портфельная репликация
Репликация баз данных Access
Создание реплик базы данных
Создание частичной реплики
Синхронизация реплик
Управление репликами
Репликация проектов Access
Репликация файлов на сервере Web
Репликация файлов в Internet Explorer и Windows
Репликация страниц доступа к данным в Access 2002
Выводы
|
Портфельная репликация
Портфельная репликация
Портфельная репликация
является удобным способом поддержания файла базы данных в обновленном состоянии при работе с ним на разных компьютерах, которые лишь иногда соединяются посредством кабельного соединения (локальной сети или прямого кабельного соединения), или обмен данными между ними выполняется с помощью переносного диска. В этом случае файл базы данных можно поместить в Портфель, чтобы потом поместить его на переносной компьютер. При этом создается новая реплика, которая может быть синхронизирована с базой данных на стационарном компьютере.
Предположим, вы ведете на своем персональном компьютере список контактов с помощью базы данных "Контакты". Вас отправляют в командировку на несколько дней, но вам необходимо постоянно использовать эту информацию, сохраненную на вашем компьютере. В этом случае следует применить средства портфельной репликации.
Сначала создайте базу данных "Контакты". Для этого можно использовать Мастер создания базы данных Access:
Выберите команду
Файл, Создать
(File, New). Появится панель
Создание файла
(New File). В разделе
Создание с помощью шаблона
(New from template) Щелкните по гиперссылке
Общие шаблоны
(General Templates).
Раскройте вкладку
Базы данных
(Databases) (рис. 18.1).
Дважды щелкните по ярлыку
Контакты
(Contact Management).
Откроется окно, в котором следует выбрать папку для сохранения новой базы данных и имя файла. Выберите папку
\Мои документы
(\Му
Documents)
и введите имя файла Контакты.mdb. Нажмите кнопку
Создать
(New).
Запустится Мастер создания базы данных по шаблону
Контакты
(Contact Management). Следуйте предлагаемым инструкциям.
Репликация баз данных
Что такое репликация? Это средство организации работы одного или нескольких пользователей с одним и тем же документом, базой данных или другими-файлами на разных компьютерах независимо, без одновременного доступа к файлам, но когда требуется поддерживать некоторую общую версию изменяемых файлов, содержащую в себе все последние исправления, сделанные независимо. Более конкретно,
репликация
— это процесс создания копий файлов, между которыми может осуществляться обмен обновляемыми данными или объектами. Такие копии называются
репликами,
а такой обмен —
синхронизацией.
Когда нужна репликация? Microsoft приводит два примера необходимости в такой организации работы.
Вы — агент по продажам и совершаете поездки для посещения клиентов. Перед поездкой вам нужно просмотреть последние заказы и маркетинговые тенденции клиентов, которых вы собираетесь посетить. Эта информация хранится в базах данных о клиентах и заказах вашей компании. Вы загружаете данные о клиентах на свой переносной компьютер. Во время посещения клиента вы обновляете загруженную информацию о клиенте, например: номера телефонов, адреса E-mail и прочую персональную информацию о клиенте на вашем переносном компьютере, а также вносите туда информацию о новых заказах. Однако вам необходимо закончить работу с заказами как можно быстрее. В конце дня вы подключаетесь по Интернету к сети вашей компании через защищенное удаленное соединение и обновляете базы данных о клиентах и заказах. Конфликты данных автоматически разрешаются благодаря имеющимся бизнес-процедурам. После этого вы печатаете и отправляете клиенту по факсу отчет о принятии заказа или отправляете снимок отчета по E-mail, который клиент может просмотреть с помощью программы Просмотр снимков (Snapshot Viewer).
Вы — разработчик программного обеспечения и хотите закончить работу с приложением вашей компании, отслеживающим статистику об обнаружении и исправлении ошибок в проекте, дома, где нет необходимого или защищенного доступа к корпоративной сети. Вы забираете данные только о ваших ошибках, помещая их на свой переносной компьютер, и отключаете его от корпоративной сети. Затем приходите домой и работаете с имеющимися данными, изменяя поля статуса ошибки и прочие поля с информацией об ошибке. На следующий день* вы подключаете свой переносной компьютер к корпоративной сети и легко син-* хронизируете свои изменения с приложением вашей компании, отслеживающим; статистику ошибок в проекте.
Существует несколько средств репликации баз данных, проектов Access и других файлов.
Портфельная репликация —
средство операционной системы Microsoft Windows. Оно позволяет осуществлять репликацию файлов многих типов, в том числе баз данных Access (файлов MDB), исключая проекты Access (файлы ADP).
Репликация баз данных и проектов средствами Access —
встроенные средства Microsoft Access. Они предназначены для репликации баз данных и проектов Access.
Репликация с помощью Диспетчера репликации Microsoft —
полнофункциональное средство управления репликами, планирования синхронизации и просмотра элементов набора реплик. Диспетчер репликации входит в комплект средств разработчика Microsoft Office 2002 Developer Edition. Описание Диспетчера репликации (Replication Manager) можно найти в документации этого комплекта.
Репликация файлов на сервере Web —
средство сервера Web фирмы Microsoft. Оно позволяет работать с файлами, сохраненными на узле Web, в автономном режиме — без подключения к серверу.
Программная репликация с помощью интерфейсов DАО и JRO.
Создание и управление репликами баз данных Access может осуществляться программно — в процедурах на VBA. Разработчики приложений Access могут обеспечить автоматическую синхронизацию реплик и прочие действия, связанные с репликацией, используя специальные свойства и методы объектов из библиотек VBA:
Объекты репликации и Jet (JRO)
для репликации баз данных Access 2000 и выше и
Объекты доступа к данным (DАО)
для репликации баз данных более ранних версий — Access 95 и 97.
Репликация включает следующие действия:
выбор средства репликации;
создание реплик;
синхронизация реплик;
управление репликами.
Способ выполнения перечисленных действий зависит от выбранного средства репликации. Мы рассмотрим основные вопросы, касающиеся использования перечисленных средств репликации, но не будем касаться темы программирования. Дополнительную информацию о репликации можно найти в справочной системе Access 2002.
Репликация баз данных Access
В начале главы были приведены основные понятия репликации файлов. Если говорить именно о репликации баз данных средствами Access, то
репликой
в данном случае называется каждая копия реплицированной базы данных. Каждая реплика базы данных содержит общий (для всех реплик базы данных) набор таблиц, запросов, форм, отчетов, страниц доступа к данным, макросов и модулей. Изменения данных таблицы, сделанные в одной из реплик, передаются в другие реплики. Каждая реплика может также содержать
локшьные объекты,
которые существуют только в этой реплике.
Отдельная реплика является компонентом
набора регьтк
и допускает синхронизацию с другими репликами в наборе. В наборе реплик выделяется главная реплика, она называется
основной.
Основная реплика является главным компонентом набора реплик и используется для создания первой реплики в наборе. В основную реплику добавляются системные таблицы, системные поля и свойства репликации. Изменение структуры базы данных допускается только в основной реплике. Другие реплики в том же наборе также могут быть назначены основными репликами, но в каждый момент времени в наборе реплик должна быть только одна основная реплика. Основная реплика и все остальные реплики имеют общую структуру базы данных и уникальный идентификатор набора реплик.
Синхронизацией в данном случае называется
процесс обновления двух компонентов набора реплик, при котором происходит взаимный обмен обновленными записями и объектами. После синхронизации двух компонентов набора реплик изменения из каждой реплики оказываются примененными в другой реплике.
Частичная реплика
— база данных, содержащая подмножество записей полной реплики. С помощью частичной реплики пользователь имеет возможность устанавливать фильтры и задавать отношения, определяющие, какое подмножество записей полной реплики должно входить в базу данных.
Область видимости.
Реплики по области видимости разделяются на три типа:
глобальные, локальные
и
анонимные.
Тип реплики определяет ряд важных характеристик реплики, например: типы реплик, которые могут создаваться по данной реплике, может ли данная реплика стать основной репликой в наборе реплик, а также, как в ней обрабатываются конфликты при синхронизации. Возможные типы, реплик описаны в табл. 18.1.
Приоритет реплики —
это специальная характеристика реплики базы данных, определяющая относительный приоритет реплики в наборе реплик. Приоритет выражается целым положительным числом. Приоритет реплик учитывается при разрешении конфликтов, возникших в процессе синхронизации реплик. Подробнее о приоритетах рассказано в справочной системе Access 2002.
Репликация файлов на сервере Web
Есть еще одно средство работы с базой данных в той ситуации, когда требуется синхронизация данных — это работа с данными в Web в автономном режиме (off-line), когда нет постоянного подключения к источнику данных.
Репликация файлов на сервере Web позволяет работать с файлами, используя программу просмотра Microsoft Internet Explorer 5 (и выше) или приложение из пакета Microsoft Office 2002 (а также предыдущей версии Office 2000), даже после отключения от сервера. На локальном компьютере сохраняются копии файлов, хранящихся на сервере, отображаемых в Проводнике в папках Web. Локальные копии могут быть просмотрены и изменены даже при работе в автономном режиме. При подключении к серверу Web копии файлов на локальном компьютере могут быть синхронизированы с исходными файлами, хранящимися на сервере Web.
Внимание
На сервере Web, который будет использоваться для сохранения синхронизируемых файлов, должны быть установлены серверные расширения FrontPage.
Репликация файлов в Internet Explorer и Windows
Репликация файлов в Internet Explorer и Windows
Описание процедур репликации и синхронизации файлов на сервере Web, использования Менеджера синхронизации Windows (Synchronization Manager), так называемых
подписок
(subscription), и папки
Избранное
(Favorites) можно найти в справочной системе Windows и Internet Explorer.
Репликация проектов Access
Репликация проектов Access отличается от репликации баз данных. В проектах реп-лицируются только данные. Формы, отчеты и прочие объекты, содержащиеся в проекте, не реплицируются.
В отличие от баз данных для репликации проектов Microsoft Access предоставляет средства создания не реплик, а
публикаций
(publication) и
подписок
(subscription).
В проекте Microsoft Access
публикация
может содержать одну или несколько статей с таблицами или хранимыми процедурами из одной базы данных пользователя. Создание публикации выполняется с помощью мастера, который запускается с помощью команды
Сервис, Репликация, Создать публикацию.
Каждая пользовательская база данных может иметь несколько публикаций.
Статьей
в публикации называют сгруппированные данные, которые реплицируются как целое. Статьей может быть целая таблица либо некоторые строки и столбцы, определяемые фильтром. Публикация может содержать несколько статей. Подписчики подписываются на публикацию, а не на отдельные статьи в публикации.
Подпиской
называется база данных, получающая реплицированные таблицы и данные из базы данных издателя в проекте Microsoft Access. Создать подписку можно с помощью мастера, который запускается с помощью команды
Сервис, Репликация, Запросить подписку.
Синхронизация реплицированных проектов Access может быть трех типов: прямая, косвенная и через Интернет. Синхронизация реплицированных проектов осуществляется аналогично синхронизации реплицированных баз данных с помощью команды
Сервис, Репликация, Сихронизация.
Подробная информация о репликации проектов Access содержится в документации Microsoft SQL Server.
к базе данных, чтобы удобно
Репликация страниц доступа к данным в Access 2002
Когда нет постоянного подключения к базе данных, чтобы удобно было использовать и изменять данные, можно воспользоваться средством работы со страницами доступа к данным проектов Access 2002 в автономном режиме (без подключения).
Для такой работы потребуется следующее программное обеспечение:
Microsoft Access 2002, установленный на клиентском компьютере, например на переносном компьютере или домашнем компьютере;
Microsoft SQL Server 2000 Desktop Edition (MSDE), установленное и работающее на клиентском компьютере;
Microsoft SQL Server 2000, установленное и работающее на удаленном сервере;
Microsoft Internet Explorer 5.0, установленный на клиентском компьютере и на удаленном сервере.
Инструкции по использованию синхронизируемых страниц доступа к данным для проектов Access 2002 можно найти в справочной системе Access 2002.
Вкладка Базы данных диалогового окна Шаблоны
Рис. 18.1.
Вкладка
Базы данных
диалогового окна
Шаблоны
После того как база данных будет создана и заполнена необходимой информацией, закройте ее. Чтобы иметь возможность работать с базой данных на портативном компьютере, создайте реплику с помощью средства портфельной репликации и поместите ее на портативный компьютер.
Чтобы создать реплику базы данных "Контакты":
Закройте Access и запустите Проводник. Раскройте папку \Мои документы, в которой хранится база данных Контакты.mdb. Нормализуйте окно Проводника, нажав кнопку
Восстановить
(Restore) в правом верхнем углу окна.
Перетащите с помощью мыши базу данных "Контакты" на значок
Портфель
(Briefcase) на рабочем столе Windows.
Замечание
В Windows 2000 значок Портфель (Briefcase) изначально не отображается на рабочем столе. Откройте Проводник, раскройте любую папку, в которой хотите создать новый Портфель, и выберите команду Файл, Создать, Портфель (File, New, Briefcase) или щелкните правой кнопкой по пустому месту в этой папке и выберите команду Создать, Портфель (New, Briefcase) в контекстном меню. В качестве такой папки можно выбрать и Рабочий стол (Desktop). Выполните шаг 2.
Начнется процесс обновления Портфеля. Если Портфель используется впервые, появится диалоговое окно
Создание Портфеля Windows
(Welcome to the Windows Briefcase) (рис. 18.2).
Диалоговое окно Создание Портфеля Windows
Рис. 18.2.
Диалоговое окно
Создание Портфеля Windows
![](images/image_2.gif)
Через некоторое время будет отображено сообщение, требующее подтвердить выполнение репликации (рис. 18.3). Нажмите кнопку Да (Yes).
Будет отображено сообщение с предложением создать резервную копию (рис. 18.3). Нажмите кнопку Да (Yes).
Будет отображено сообщение с вопросом о том, какую из двух реплик (реплику, полученную из исходной базы данных, или реплику, созданную в Портфеле) следует назначить основной репликой (рис. 18.4). Не забудьте, что основная реплика допускает правку структуры объектов и схемы данных, а обычная — нет.
Чтобы сделать основной реплику, полученную из исходной базы данных, оставьте выбранным переключатель
Исходная копия
(Source Copy). Иначе выберите переключатель
Копия в портфель
(Copy to Briefcase). Нажмите кнопку
ОК.
Создание резервной копии базы данных
Рис. 18.3.
Создание резервной копии базы данных
Выбор основной реплики...
Рис. 18.4.
Выбор основной реплики
Нажмите кнопку
Готово
(Finish) в диалоговом окне
Создание Портфеля Windows.
![](images/image_4.gif)
Откройте Портфель. Для этого дважды щелкните по значку
Портфель
(Briefcase) на рабочем столе Windows. Появится окно со списком реплик в Портфеле.
Состояние синхронизации реплики в Портфеле
Рис. 18.5.
Состояние синхронизации реплики в Портфеле
Щелкните правой кнопкой мыши по элементу списка
Контакты.mdb
и выберите в контекстном меню команду
Свойства
(Properties), чтобы открыть окно свойств. Раскройте вкладку
Обновление
(Update Status) для вывода информации о состоянии синхронизации. Оригинал и реплика базы данных "Контакты" являются последними версиями, т. к. реплики не изменялись (рис. 18.5). Нажмите кнопку
ОК.
Для просмотра содержимого реплики дважды щелкните по элементу Контакты.mdb списка реплик в Портфеле. Запустится Access и откроется реплика базы "Контакты". В заголовке окна базы данных появится надпись
реплика
(Replica), указывающая на то, что производится работа с репликой исходной базы данных.
Выберите команду
Сервис, Параметры
(Tools, Options) и раскройте вкладку Вид (View). Установите флажки
скрытые объекты
(Hidden objects) и
системные объекты
(System objects) и нажмите кнопку
ОК.
Обратите внимание на то, что для обеспечения репликации в базу данных "Контакты" было добавлено множество скрытых таблиц, например
MSysRepIicas и MSysTombstone
(рис. 18.6).
Реплика базы данных...
Рис. 18.6.
Реплика базы данных "Контакты" с системными таблицами
Снова выберите команду
Сервис, Параметры
(Tools, Options) и сбросьте установленные на прошлом шаге флажки. Нажмите кнопку ОК и закройте реплику базы данных "Контакты".
Чтобы поместить реплику на портативный компьютер или отдать ее другому пользователю:
Создайте копию Портфеля, содержащего реплику, путем копирования и вставки Портфеля на рабочий стол, а затем переименованием копии. Копии Портфеля используются для обновления реплик другими пользователями.
Откройте Портфель и выберите команду
Портфель, Обновить все
(Briefcase, Update All). Основная реплика обновляется данными, содержащимися в репликах других Портфелей.
Поместите копию Портфеля на рабочий стол портативного компьютера (или передайте ее на дискете другому пользователю).
Теперь можно работать с базой данных на портативном компьютере.
Синхронизировать реплику в Портфеле на портативном компьютере с репликой в Портфеле на основном компьютере и основной репликой можно несколькими способами.
Используя
сетевое подключение.
Связав портативный компьютер с Портфелем основного компьютера, можно обновлять реплику Портфеля непосредственно с помощью команды контекстного меню реплики
Обновить
(Update). Если реплика открыта в режиме разделения (по умолчанию), то допускается одновременное обновление реплики Портфеля несколькими пользователями. Однако пользова-телям в сети проще соединиться напрямую и обновить основной (исходный) файл MDB.
Используя
прямое кабельное соединение.
Для обеспечения доступа к Портфелю основного компьютера пользователями портативных компьютеров можно соединить последовательные (СОМ) порты основного и переносного компьютера с помощью кабеля последовательной связи (нуль-модемный кабель). Если компьютеры оборудованы параллельными портами, использующими протокол ЕСР (Расширенный протокол связи), то можно соединить параллельные порты основного и переносного компьютеров с помощью кабеля ЕСР. При параллельном соединении обновление проходит намного быстрее, чем при последовательном соединении. Для соединения различных типов параллельных портов имеется возможность использовать кабель UCM (Универсальный модуль кабеля).
Используя
соединение с помощью модемов.
Если установить на основном компьютере приложение "Телефон" (Phone Dialer), то можно будет связать портативный компьютер с Портфелем основного компьютера и обновить реплику в Портфеле.
С помощью
дискет
или
переносного диска.
Реплику в Портфеле основного компьютера можно перенести на портативный компьютер или компьютер другого пользователя с помощью дискеты или переносного диска. Для этого переместите Портфель на дискету (роль дискеты может выполнять и переносной диск), а затем перепишите его с дискеты на рабочий стол переносного компьютера или компьютера другого пользователя. После внесения изменений на портативном компьютере или на компьютере другого пользователя проведите обратный процесс: переместите Портфель переносного компьютера на дискету, а с дискеты — на рабочий стол основного компьютера. Затем выполните синхронизацию реплики в Портфеле с основной репликой, как рассказано далее. Многие пользователи применяют именно этот способ.
Замечание
Перемещение Портфеля на дискету (или переносной диск) является важным этапом в осознании концепции Портфеля Windows. Реплики всех файлов хранятся в Портфеле на стационарном компьютере. Когда вы уходите, вы берете с собой Портфель. Один Портфель не может быть в двух местах одновременно. Более того, Портфель не является объектом рабочего стола Windows. По возвращении необходимо переместить Портфель с дискеты (или диска) на рабочий стол. Если Портфель разделяется в сети, то аналогией из реальной жизни является папка для входящих бумаг.
Если изменить данные или параметры либо в реплике Портфеля, либо в основной реплике, то статус файла изменится на
Изменен
(Modified). Если со времени последней синхронизации одна из реплик изменялась, можно обновить либо реплику в Портфеле, либо основную реплику. Чтобы синхронизировать реплики:
Откройте Портфель. Щелкните правой кнопкой по базе данных "Контакты" и выберите в контекстном меню команду
Свойства
(Properties). В окне свойств реплики раскройте вкладку
Обновление
(Update Status). Статусом реплики в Портфеле является значение
Изменен
(Modified) (рис. 18.7), хотя данные не изменялись. Дело в том, что на состояние реплики повлияло изменение параметров базы данных в Access.
Нажмите кнопку
Обновить
(Update) для обновления основной реплики.
Статус Изменен для реплики в Портфеле
Рис. 18.7.
Статус
Изменен
для реплики в
Портфеле
Аналогичным образом производится обновление реплики в Портфеле, когда изменения внесены в основную реплику.
Замечание
Щелкнув правой кнопкой мыши по полю окна свойств реплики, в котором отображается статус обновления реплики, можно отобразить список для выбора направления записи изменений в двух синхронизируемых репликах.
Синхронизацию реплик в Портфеле можно проводить также с помощью команды
Портфель, Обновить выделенные объекты
(Briefcase, Update Selection) и команды
Портфель, Обновить все
(Briefcase, Update All). Последняя команда очень удобна, когда требуется обновить реплики в нескольких копиях Портфеля на рабочем столе, которые принадлежат разным пользователям, обновляющим реплики в Портфеле с помощью дискет. В этом случае, выполнив команду обновления всего один раз, можно внести все произведенные каждым пользователем изменения.
Замечание
Можно создать копию Портфеля так же, как копию обычной папки с файлами Windows. Чтобы создать совершенно новый Портфель, не копируя имеющийся, в Проводнике Windows выберите команду
Файл, Создать, Портфель
(File, New, Briefcase).
Диалоговое окно Размещение новой реплики
Рис. 18.8.
Диалоговое окно
Размещение новой реплики
![](images/image_8.gif)
Чтобы задать приоритет реплики, нажмите кнопку
Приоритет
(Priority). Появится диалоговое окно, представленное на рис. 18.9. Введите приоритет реплики и нажмите кнопку
ОК.
Диалоговое окно Приоритет
Рис. 18.9.
Диалоговое окно
Приоритет
![](images/image_9.gif)
Если требуется запретить пользователям удалять записи из таблиц в реплике, установите флажок
Запретить удаление
(Prevent delets).
Чтобы задать область видимости реплики, выберите необходимый элемент в раскрывающемся списке
Тип файла
(Save as type).
Основная реплика базы...
Рис. 18.10.
Основная реплика базы данных с системными таблицами
![](images/image_10.gif)
Нажмите кнопку ОК. Начнется процесс создания реплики. После его завершения, возможно, появится пояснительное сообщение с текстом "Изменения структуры базы данных допускаются только в основной реплике; изменения данных могут выполняться как в основной, так и в любой другой реплике набора". Нажмите кнопку
ОК.
Если база данных не была реплицированной, в результате работы Access она преобразуется в основную реплику и отобразится на экране (рис. 18.10). Кроме того, будет создана первая реплика с указанным именем (шаг 4). Если текущая база данных уже была репликой, в результате работы Access на ее основе будет создана новая реплика с указанным именем. В реплику добавляются системные таблицы и поля, специально предназначенные для поддержки реплики.
Первое диалоговое...
Рис. 18.11.
Первое диалоговое окно Мастера частичной репликации
![](images/image_11.gif)
Выберите переключатель
создать частичную реплику
(Create a new partial replica) и нажмите кнопку Далее (Next).
Появится диалоговое окно, представленное на рис. 18.12. Введите путь и имя файла MDB для сохранения частичной реплики. Здесь же можно задать дополнительные свойства создаваемой реплики. Нажмите кнопку
Далее.
Второе диалоговое...
Рис. 18.12.
Второе диалоговое окно Мастера частичной репликации
Третье диалоговое...
Рис. 18.13.
Третье диалоговое окно Мастера частичной репликации
![](images/image_13.gif)
Появится диалоговое окно, позволяющее задать фильтр для отбора данных, которые следует сохранить в частичной реплике (рис. 18.13). Частичную реплику можно создать на основе только одной таблицы из базы данных, но из этой таблицы можно выбрать несколько полей.
Выделите в списке
Таблица для отбора
(Table to filter) имя таблицы, из которой будут выбираться данные. Например, выделите таблицу "Заказы" (Orders). В списке
Поля таблицы
(Fileds in the table) отобразятся все поля выбранной таблицы.
Теперь нужно составить выражение фильтра. Оно подобно выражению SQL WHERE, только не может содержать вызовов статистических и пользовательских функций и подчиненных запросов. Например, составим фильтр для выбора всех заказов, которые были размещены с 1 апреля 1998 года, стоимость доставки которых превышает 100 рублей.
Выделите поле "ДатаРазмещения" (OrderDate) в списке
Поля таблицы,
выберите переключатель >= и нажмите кнопку
Вставить
(Paste). В поле
Выражение фильтра
(Filter expression) появится строка: [ДатаРазмещения] >= [Выражение].
Вместо слова [Выражение] введите дату #4/1/1998#.
Выделите в списке
Поля таблицы
поле "СтоимостьДоставки" (ShippedPrice), выберите переключатель > в группе переключателей отношений и переключатель И (AND) — в группе переключателей логических связок. Нажмите кнопку
Вставить.
В поле
Выражение фильтра
появится строка: [ДатаРазмещения] >= #4/1/1998# AND [СтоимостьДоставки] > [Выражение].
Вместо слова [Выражение] введите число 100. Получится требуемое выражение фильтра: [ДатаРазмещения] >= #4/1/1998# AND [СтоимостьДоставки] > 100 (рис. 18.14). Нажмите кнопку Далее.
Появится следующее диалоговое окно Мастера частичной репликации (рис. 18.15). В списке
Список таблиц
(List of Tables) отображаются все таблицы текущей реплики, за исключением той, на основе которой создан фильтр для отбора записей. Таблицы, связанные с таблицей, к которой применяется фильтр, выделены полужирным шрифтом. Установите флажок около имени таблицы, чтобы включить в частичную реплику все записи в этой таблице. Сбросьте флажок около имени таблицы, если нужно включить в частичную реплику только записи, связанные с отобранными фильтром записями. Нажмите кнопку
Далее.
Появится последнее диалоговое окно мастера (рис. 18.16), предлагающее создать отчет с описанием содержания частичной реплики. Оставьте выбранным переключатель Да (Yes) и нажмите кнопку
Готово
(Finish).
После этого начнется процесс создания частичной реплики, который может занять несколько минут. После окончания работы мастера будет отображен отчет о создании частичной реплики. Сохраните его в формате снимка отчета, чтобы иметь информацию о данных, хранящихся в частичной реплике. Тогда этот отчет можно будет просмотреть в любое время с помощью программы
Просмотр снимков
(Snapshot Viewer) (рис. 18.17)
(см. разд. "Снимки отчетов"гл. 6).
Фильтр для отбора...
Рис. 18.14.
Фильтр для отбора записей в таблице "Заказы"
Четвертое диалоговое...
Рис. 18.15.
Четвертое диалоговое окно Мастера частичной репликации
Последнее диалоговое...
Рис. 18.16.
Последнее диалоговое окно Мастера частичной репликации
![](images/image_17.gif)
Рис. 18.17.
Отчет о создании частичной реплики
Диалоговое окно Синхронизация...
Рис. 18.18.
Диалоговое окно
Синхронизация базы данных <...>
![](images/image_18.gif)
Введите путь и имя файла элемента набора реплик, который требуется синхронизировать с текущей репликой. Это может быть основная, обычная или частичная реплика.
Если текущую реплику нужно сделать основной, установите флажок
Сделать основной репликой "<имя файла>"
(Make '<имя файла>' the Design Master). (Этот режим недоступен в том случае, когда одна или обе синхронизируемые реплики являются частичными репликами и когда обе синхронизируемые реплики являются обычными репликами — не основными).
Нажмите кнопку
ОК.
Отобразится сообщение с требованием подтвердить закрытие базы данных для выполнения синхронизации. Чтобы выполнить синхронизацию, нажмите кнопку
Да
(Yes).
В результате синхронизации могут возникать конфликты. Устранение конфликтов выполняется с помощью специальной программы Просмотр конфликтов (Conflict Viewer). Чтобы ее запустить, откройте базу данных, которую требуется проверить на наличие конфликтов, и нажмите кнопку
Да
(Yes) в окне с сообщением о наличии конфликтов и с предложением их устранить или выберите команду
Сервис, Репликация, Устранить конфликты
(Tools, Replication, Resolve Conflicts). Если конфликтов в реплике нет, программа
Просмотр конфликтов
не запускается, сообщение о наличии конфликтов при открытии реплики тоже не отображается. Сведения о причинах возникновения конфликтов и об использовании программы
Просмотр конфликтов
находятся в справочной системе Access 2002.
Синхронизация реплик
Синхронизация реплик
В Microsoft Access, Диспетчере репликации Microsoft и Объектах репликации и Jet (JRO) можно выбрать один из трех различных методов синхронизации данных:
Прямая синхронизация
является прекрасным решением для случаев, когда реплики непосредственно подключены к локальной сети и находятся в общих сетевых папках. Прямая синхронизация не очень хорошо подходит для удаленной синхронизации с помощью сервера удаленного доступа (RAS) или соединения удаленного доступа. В этом случае следует использовать косвенную синхронизацию или синхронизацию по Интернету.
Если при попытке выполнить прямую синхронизацию с репликой, присутствующей в списке известных реплик, эта реплика не будет найдена, то она будет исключена из набора реплик.
Косвенная синхронизация
полезна при работе в автономной среде, например: на переносном компьютере.
Косвенную синхронизацию можно настроить только с помощью Диспетчера репликации (Replication Manager), входящего в комплект средств разработчика Microsoft Office 2002 Developer. После того как косвенная синхронизация будет настроена в Диспетчере репликации, ее можно выполнять с помощью Microsoft Access, Диспетчера репликации или JRO.
Синхронизация по Интернету
представляет собой удобный способ синхронизации реплик в тех автономных средах, которые имеют доступ к Интернету.
Для настройки синхронизации по Интернету нужно использовать Диспетчер репликации (Replication Manager), который входит в комплект средств разработчика Microsoft Office 2002 Developer.
Чтобы синхронизировать реплику с другой репликой в наборе реплик базы данных:
Откройте реплику, которую нужно синхронизировать. Это может быть основная, обычная или частичная реплика.
Выберите команду
Сервис, Репликация, Синхронизация
(Tools, Replication, Synchronize Now). Появится диалоговое окно, представленное на рис. 18.18.
Создание частичной реплики
Создание частичной реплики
Частичная реплика
(partial replica) — это реплика, содержащая лишь подмножество записей полной реплики (обычной реплики). Для создания частичной реплики требуется задать фильтр для выбора требуемых записей, которые будут синхронизироваться с соответствующими записями в полной реплике.
Частичные реплики позволяют ограничиться лишь необходимым для работы объемом данных. Синхронизация частичной реплики требует передачи меньшего количества данных, чем синхронизация полной реплики, что, конечно, уменьшает нагрузку на сеть.
Чтобы создать частичную реплику базы данных:
Откройте реплику базы данных, на основе которой нужно создать частичную реплику. Например, откройте реплику базы данных "Борей", создание которой было описано в предыдущем разделе
Выберите команду
Сервис, Репликация, Мастер частичной репликации
(Partial Replica Wizard). Появится первое диалоговое окно Мастера частичной репликации (рис. 18.11).
Создание реплик базы данных
Основная и обычная реплики базы данных создаются в Access одинаковым способом: с помощью команды меню
Сервис, Репликация, Создать реплику
(Tools, Replication, Create Replica). Частичная реплика создается с помощью специального мастера. Об этом рассказано
в разд. "Создание частичной реплики" этой главы.
Новую реплику можно создать на основе любой существующей реплики. В любое время основной репликой можно назначить другую реплику в наборе. Основная реплика отличается от обычной. В основной реплике разрешено изменение структуры объектов базы данных и схемы данных, а в обычной и частичной репликах — только просмотр структуры объектов и схемы данных. Но вводить, удалять и изменять данные разрешено во всех репликах в наборе.
Чтобы создать реплику базы данных:
Откройте базу данных, предназначенную для репликации, например базу данных "Борей" (Northwind). Если работа идет в многопользовательской среде, то следует убедиться в том, что все остальные пользователи закрыли эту базу данных. Если база данных защищена паролем, то его необходимо удалить. Чтобы создать новую реплику в наборе реплик, откройте созданную ранее основную или обычную реплику.
Выберите команду
Сервис, Репликация, Создать реплику
(Tools, Replication, Create Replica).
Появится диалоговое окно с требованием подтверждения закрытия базы данных. Нажмите кнопку Да (Yes).
Замечание
Если команда
Сервис, Репликация, Создать реплику
используется для создания реплики еще нереплицированной базы данных, то в результате ее выполнения база данных будет преобразована в основную реплику, а затем для нее будет создана первая обычная реплика. В этом случае после требования о закрытии базы данных будет отображено сообщение с вопросом о создании резервной копии базы данных. Рекомендуем создать резервную копию базы данных перед ее репликацией. Для этого нажмите кнопку Да (Yes).
Появится диалоговое окно
Размещение новой реплики
(Location of New Replica) (рис. 18.8). Укажите папку для размещения новой реплики. Если нужно, измените имя файла реплики, заданное по умолчанию.
Типы реплик по области видимости
Таблица 18.1.
Типы реплик по области видимости
|
|
|
|
|
Тип реплики
|
Описание
|
|
|
Глобальная
(global) реплика
|
Реплика, по которой можно создавать реплики всех остальных типов. При репликации базы данных первая создаваемая реплика (основная реплика) является глобальной репликой. Изменения, внесенные в глобальную реплику, отслеживаются полностью; возможен обмен этими изменениями с любой другой глобальной репликой в наборе. Глобальная реплика может также обмениваться изменениями с любой локальной или анонимной репликой, для которой она становится разветвителем.
Раз-ветвителем
называется глобальная реплика, с которой все реплики в наборе синхронизируют свои изменения
|
|
|
Локальная
(local) реплика
|
Реплика, в которой выводятся только данные из этой реплики и не отображаются данные из других реплик в наборе, в том числе из основной реплики. Локальная реплика синхронизирует свои данные с разветвителем, который является глобальной репликой. Синхронизация локальных реплик с другими репликами в наборе не разрешена. Если изменения в локальной реплике конфликтуют с глобальной репликой-разветвителем, эти изменения автоматически теряются в любом процессе устранения конфликтов
|
|
|
Анонимная
(anonymous) реплика
|
Особый тип реплик в базах данных Microsoft Access, для которых не ведется отслеживание отдельных пользователей. Анонимные реплики особенно удобны при работе в Интернете, когда ожидается загрузка реплик многими пользователями
|
|
Выполнение действий, связанных с созданием, синхронизацией и управлением репликами в Access, осуществляется с помощью команд меню
Сервис, Репликация
(Tools, Replication).
Управление репликами
Управление репликами
Управление реплицированными базами данных включает:
Восстановление основной реплики.
Если основная реплика в наборе реплик была повреждена, потеряна, переименована, удалена или перемещена, можно восстановить основную реплику. Для этого:
Убедитесь, что в наборе отсутствует основная реплика.
Выберите в наборе реплику, которую нужно сделать основной (для этого нельзя использовать частичную реплику).
Синхронизируйте ее со всеми остальными репликами в наборе.
Чтобы сделать текущую реплику основной, выберите команду
Сервис, Репликация, Восстановить основную реплику
(Tools, Replication, Recover Design Master).
Внимание
В наборе реплик не должно быть больше одной основной реплики. В противном случае могут происходить сбои синхронизации в наборе реплик.
Назначение реплики основной репликой.
Чтобы одну из реплик в наборе назначить новой основной репликой:
Убедитесь, что данная реплика и текущая основная реплика никем не используются.
Откройте реплику, которую нужно сделать основной.
Выберите команду
Сервис, Репликация, Синхронизировать
(Tools, Replication, Synchronize Now).
Выберите в списке текущую основную реплику для синхронизации с открытой репликой.
Установите флажок
Сделать основной репликой "<имя файла>"
(Make '<имя файла' the Design Master) и нажмите кнопку
ОК.
Преобразование реплицированной базы данных в нереплицированную.
После преобразования базы данных в основную реплику ее обратное преобразование в нереплицированную базу данных будет невозможно. Однако, если дальнейшее использование репликации не планируется и требуется уменьшить объем реплици-рованной базы данных, следует создать новую нереплицированную базу данных, содержащую все объекты и данные реплицированной базы данных, но не включающую в себя дополнительные системные поля, таблицы и свойства, добавляемые при репликации. Для этого требуется выполнить импорт из реплики в новую базу данных необходимых объектов всех типов, кроме таблиц. Для переноса таблиц в новую базу данных создайте в ней запросы, выбирающие все записи из исходных таблиц и создающие на их основе новые таблицы. Воссоздайте индексы и связи между таблицами. Подробные инструкции о выполнении этой процедуры можно найти в справочной системе Access 2002.
Защита репетированной базы данных.
Для защиты реплики можно использовать систему защиты на уровне пользователей. Назначенные права доступа к объектам реплики для пользователей рабочей группы не влияют на синхронизацию этой реплики с другими репликами в наборе. Реплику нельзя защитить паролем. Нельзя также защищенную паролем базу данных преобразовать в реплицирован-ную базу данных. Для защиты файла реплики можно установить разрешения на общую папку, в которой хранится реплика (не назначайте доступ только для чтения, иначе не будет выполняться синхронизация с остальными элементами набора реплик), или поместить ее в папку, недоступную в сети, и использовать косвенную синхронизацию через Диспетчер репликации Microsoft.
Удаление реплики из набора реплик.
Удалите файл реплики, выделив его в Проводнике Windows и нажав клавишу <Del>. Выполните синхронизацию любой реплики из набора с удаленной репликой. Access автоматически определит, что заданная реплика отсутствует и удалит ее из набора реплик. Не удаляйте основную реплику из набора реплик, если только она не повреждена. Если в наборе реплик отсутствует основная реплика, невозможно изменить структуру базы данных.
Создание резервной копии реципированной базы данных Microsoft Access.
Создание реплики предоставляет возможность создать резервную копию базы данных. Создавать резервные копии полезно, однако пользоваться ими следует лишь в исключительных ситуациях. Любая копия с резервной копии базы данных или любая реплика созданная из преобразованной резервной копии, не может быть синхронизирована с существующими элементами набора реплик.
Эта глава посвящена репликации баз
Выводы
Эта глава посвящена репликации баз данных и проектов Access 2002 с помощью различных инструментов. Средства портфельной репликации Windows позволяют работать с базой данных на переносном компьютере во время поездки и синхронизировать ее позже с базой данных на компьютере, находящемся в офисе. Средства Microsoft Access 2002 репликации баз данных и проектов дают возможность организовать совместную работу нескольких пользователей с базой данных или проектом путем создания реплик — копий базы данных или проекта, изменения в которых могут быть синхронизированы. Средство репликации сервера Web предоставляет возможность удаленным пользователям работать с базой данных, хранящейся на сервере Web, даже в автономном режиме, после отключения от Интернета.