Использование команд Microsoft Access для репликации

Для создания как основной, так и остальных реплик используются команды подменю Репликация из меню Сервис Microsoft Access 97.


Использование команд Microsoft Access для репликации

Для создания частичных реплик в Microsoft Access 97 применяются свойства и методы объектов доступа к данным (DAO) (см. справку по Microsoft Access 97). Дополнительные сведения по частичным репликам и инструментам для их создания содержится на узле Web на форуме разработчиков Microsoft Access Developer Forum по адресу http://www.microsoft.com/accessdev/.


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


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


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


Команда Восстановить основную реплику служит для назначения основной реплики в случае ее повреждения.


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


Синхронизация частичных реплик вместо полных ускоряет процесс. Сэкономленное время зависит от объема данных в частичной реплике.


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


Использование портфеля для репликации

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


Использование портфеля для репликации

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


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


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

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


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

Для синхронизации элементов используются команды из меню Портфель.


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


Выбор инструмента репликации

Предусмотрено четыре инструмента репликации и синхронизации баз данных:

•	Репликация с помощью портфеля является удобным способом поддержки файла базы данных в обновленном состоянии. Например, файл базы данных, записанный на офисном компьютере, перетаскивается на значок «Портфель» портативного компьютера. При этом создается новая реплика. Для получения дополнительных сведений нажмите кнопку  [image].

•	Команды репликации из меню Сервис Microsoft Access позволяют создавать и синхронизировать реплики (или частичные реплики) по запросу. Для получения дополнительных сведений нажмите кнопку  [image].

•	Объекты доступа к данным (DAO) содержат методы и свойства, которые позволяют разработчикам проводить репликацию и синхронизацию базы данных программным способом (включая частичные реплики). Для получения дополнительных сведений нажмите кнопку  [image].

•	Диспетчер репликации Microsoft - полнофункциональное средство управления репликами, настройки расписания синхронизации и просмотра элементов набора реплик. Данная программа входит в пакет Microsoft Office 97 для разработчиков. Для получения дополнительных сведений нажмите кнопку  [image].


Диспетчер репликации Microsoft

Диспетчер репликации применяется для:

•	Управления большим количеством реплик.

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

•	Создание реплик нескольких баз данных..

•	Установление расписания синхронизации компонентов набора реплик.

•	Устранение ошибок.

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


Создание реплики базы данных

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

Важно!  Перед проведением репликации ознакомьтесь с изменениями, которые будут внесены в базу данных. Для этого достаточно нажать кнопку  [image].

2	Если база данных была защищена паролем, то его необходимо удалить.

Инструкции

3	Из меню Сервис выберите команду Репликация и подкоманду Создать реплику.

4	Нажмите кнопку Да в ответ на вопрос о закрытии базы данных.

5	Нажмите кнопку Да или Нет (рекомендуется Да) в ответ на вопрос о создании резервной копии базы данных (данное диалоговое окно выводится только, если база данных должна быть преобразована в основную реплику перед созданием первой реплики).

6	В диалоговом окне Размещение новой реплики выберите место для размещения реплики.

7	Нажмите кнопку OK.


Создание реплики с помощью портфеля

1	Убедитесь, что приложение «Портфель» установлено на компьютере. Если это так, то на рабочем столе Windows должен присутствовать значок «Портфель».

Если приложение «Портфель» не установлено, выполните следующие действия.

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

•	Для установки программы репликации с помощью портфеля запустите программу установки Microsoft Access. Для получения дополнительных сведений нажмите кнопку  [image].

2	Если база данных защищена паролем, то его необходимо удалить.

  	Инструкции

3	В окне проводника Windows выберите папку, в которой расположена база данных Microsoft Access.

4	Перетащите файл базы данных на значок «Портфель» на рабочем столе Windows.

Важно!  Перед проведением репликации ознакомьтесь с изменениями, которые будут внесены в базу данных. Для этого достаточно нажать кнопку  [image].


Синхронизация с другим элементом набора реплик

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

1	Откройте элемент набора реплик, который необходимо синхронизировать.

2	В меню Сервис выберите команду Репликация и подкоманду Синхронизация. (Если существует элемент набора реплик, управляемый синхронизатором в сети Интернет, то появится дополнительное диалоговое окно, в котором осуществляется выбор синхронизации элемента в локальной, глобальной сети или в Интернете).

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

4	Если база данных является основной репликой и необходимо сделать другую реплику, то установите переключатель Присвоить 'ИмяФайла' статус основной. (Этот режим недоступен в том случае, когда обе реплики являются частичными репликами).

5	Нажмите кнопку OK.

6	Нажмите кнопку Да в ответ на вопрос о закрытии и повторном открытии базы данных. (Если выбрать Нет, то могут быть внесены не все изменения).


Синхронизация реплики с помощью портфеля

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

1	Выберите значок «Портфель», а затем выберите файл базы данных.

2	В меню Портфель выберите Обновить выделенные объекты.

3	Нажмите кнопку Обновить для изменения и обновления портфеля.


Восстановление основной реплики

Предусмотрено восстановление основной реплики в случае потери, перемещения или повреждения файла. Однако данный режим недоступен, если текущая открытая реплика является частичной репликой. Для получения дополнительных сведений по основной реплике нажмите кнопку  [image].

1	Убедитесь, что в наборе реплик нет основной.

2	Откройте реплику, которую необходимо сделать новой основной репликой.

3	Из меню Сервис выберите команду Репликация и подкоманду Синхронизация.

4	Выберите реплику из списка и нажмите кнопку OK.

5	Повторите шаги 2-4 необходимое количество раз для синхронизации с каждой репликой набора.

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

6	В меню Сервис выберите команду Репликация и подкоманду Восстановить основную реплику.

7	Нажмите кнопку Да.


Разрешение конфликтов репликации между элементами набора реплик

Конфликты возникают при изменении одной и той же записи в двух элементах набора реплик, которые были синхронизированы.

1	Откройте базу данных, которую требуется проверить на наличие конфликтов.

2	Укажите таблицу, которая могла вызвать конфликт. В меню Сервис выберите команду Репликация и подкоманду Устранить конфликты.

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

4	Для каждой конфликтной записи нажмите кнопку Сохранить существующую или Заменить на конфликтующую.

Внимание   Конфликтующие записи могут быть потеряны при удалении или перемещении реплики. Поэтому перед удалением или перемещением следует выполнить проверку конфликтов.


Назначение реплики основной репликой

1	Убедитесь, что ни данная реплика ни основная реплика нигде не используются.

2	Откройте реплику, которую следует назначить новой основной репликой .

3	Выберите в меню Сервис команду Репликация и подкоманду Синхронизация.

4	Выберите текущую основную реплику в списке.

5	Установите флажок Присвоить 'ИмяФайлаРеплики' статус основной.

6	Нажмите кнопку OK.


Преобразование реплицируемой базы данных в нереплицируемую

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

Примечание.   Создайте для каждой таблицы новой базы данных такой же индекс, что и в таблице реплики. Если поле «s_GUID» является первичным ключом (и внешним ключом для других таблиц, ссылающихся на него), то поле «s_GUID» необходимо включить в новую таблицу. Если же поле «s_GUID» не используется как первичный ключ, то нет смысла резервировать его в новой таблице. Поля «s_Lineage» и «s_Generation» не должны переписываться в новую таблицу.

1	Создайте и откройте новую базу данных.

2	Выберите в меню Файл команду Внешние данные и подкоманду Импорт.

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

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

5	Нажмите кнопку OK для импорта выделенных объектов.

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

Инструкции

7	Для каждой таблицы в новой базе данных создайте те же индексы, которые были определены для таблице в реплике.

  	Инструкции

8	Для каждой таблицы в новой базе данных создайте те же связи, которые были определены для таблице в реплике.

  	Инструкции

9	Сохраните новую базу данных.


Защита реплицированной базы данных

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

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


Удаление реплики из набора реплик

1	С помощью команды Windows Проводник найдите реплику, которую требуется удалить.

2	Выделите реплику и нажмите клавишу DELETE.

3	Попытайтесь провести синхронизацию с удаленной репликой из другого элемента набора реплик. (Эта процедура позволяет оповестить другие элементы о произведенном удалении).

Осторожно!   Не удаляйте основную реплику из набора реплик, если она не перестала функционировать. Удаление основной реплики сделает невозможным изменение структуры базы данных. Рекомендуется также проверять реплику на присутствие конфликтов. Если этого не делать, то конфликтующие записи будут потеряны при удалении или перемещении реплики.


Преобразование набора реплик к формату Microsoft Access 97

Для преобразования реплик, созданных в Microsoft Access 95 к формату Microsoft Access 97 следует синхронизировать их с преобразованной основной репликой. (Реплики не могут быть преобразованы непосредственно с помощью команды Преобразовать базу данных). Для успешного выполнения преобразования все элементы набора реплик должны храниться на компьютерах с установленным Microsoft Access 97.

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

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

Осторожно!   Не следует проводить синхронизацию тестовой основной реплики с элементами рабочего набора реплик. В противном случае могут произойти непредвиденные изменения структур данных рабочего набора.

1	Сделайте копию текущей основной реплики (созданной в Microsoft Access 95) и поместите копию на другой компьютер или полностью изолируйте ее от остальных элементов набора реплик.

2	В Microsoft Access 95 создайте отдельную копию основной реплики, выбрав из меню Сервис команду Репликация и подкоманду Восстановить основную реплику.

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

4	Для преобразования новой основной реплики в формат Microsoft Access 97 выберите в меню Сервис команду Служебные программы и подкоманду Преобразовать базу данных.

5	Синхронизируйте новую основную реплику с созданными репликами.

6	Запустите любой тест.

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

7	Если работа с копией проходит нормально, то следует удалить новую основную реплику и все ее реплики. Убедитесь, что все пользователи, которые обращаются к основной реплике и реплицированными базам данных, работают с Microsoft Access 97.

8	Преобразуйте исходную основную реплику к формату Microsoft Access 97 и синхронизируйте ее с исходными репликами.

Синхронизированные реплики невозможно открыть из Microsoft Access 95. После открытия реплик в Microsoft Access 97 они будут полностью преобразованы.


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

•	Перед изменением структуры базы данных выполните синхронизацию всех реплик в наборе реплик.

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

•	Не создавайте связей между реплицируемыми и нереплицируемыми таблицами.

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

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


Изменения базы данных при ее репликации

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

Изменения компонентов базы данных

Поля, добавляемые в каждую существующую таблицу в базе данных

Новые таблицы, добавляемые в базу данных

Новые свойства, добавляемые в базу данных

Изменение характеристик поля счетчика

Изменение размеров файла базы данных


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

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

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

•	Дополнительные поля (с именами «Gen_ИмяПоля») добавляются для каждого поля Memo или поля объекта OLE в таблице.

•	Системные поля «s_GUID», «s_Lineage» и «s_Generation» являются системными объектами, которые могут быть сделаны как скрытыми, так и видимыми в таблицах. Для того чтобы сделать эти поля видимыми, выберите в меню Сервис команду Параметры, выберите вкладку Вид и установите флажок Системные объекты. После этого откройте реплицируемую таблицу для просмотра полей.

•	Пользователь не может изменить содержимое системных полей в реплицированной таблице.


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

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

Свойство	Описание
Replicable или ReplicableBool	Свойство базы данных или объекта. Значение «T» данного свойства (или «True» для свойства ReplicableBool) указывает, что база данных или таблица, запрос, форма, отчет, макрос или модуль являются реплицируемыми. Свойства Replicable и ReplicableBool взаимозаменяемы.
KeepLocal	Свойство, добавляемое в таблицу, запрос, форму, отчет, макрос или модуль. Значение «T» данного свойства указывает, что объект не реплицируется при репликации базы данных. Для уже реплицированного объекта задать значение свойства KeepLocal невозможно.
ReplicaID	Свойство, обеспечивающее для каждого компонента набора реплик уникальный идентификатор. Данное свойство доступно только для чтения, его значение сохраняется в системной таблице «MSysReplicas».
DesignMasterID	Уникальный идентификатор основной реплики. Идентификатор сохраняется в системной таблице «MSysRepInfo» в поле «SchemaMaster».
Replication ConflictFunction	Указывает имя функции, используемой для устранения конфликтов при синхронизации вместо стандартной подпрограммы разрешения конфликтов Microsoft Access.


Таблицы, добавляемые в базу данных при ее репликации

При репликации базы данных Microsoft Access добавляет следующие системные таблицы в базу данных:

Таблица	Описание
MSysSidetables	Данная таблица существует только во время неразрешенного конфликта при синхронизации реплики пользователя и другой реплики в наборе. Эта таблица не является реплицируемой. Она поддерживается только для предоставления сведений пользователю, а ее содержимое может быть изменено или удалено специальной программой разрешения конфликтов или самим пользователем. Все дополнительные таблицы получают имена «xxxx_conflict», где xxxx представляет имя исходной таблицы.
MSysErrors	Данная таблица указывает, где и по какой причине возникают ошибки во время синхронизация данных. В этой таблице идентифицируется таблица, в которой возникли ошибки; реплика или реплики, в которых обнаружены ошибки; реплика, в которой строка была изменена последней; тип операции, которую не удалось выполнить, а также причина этого. Данная таблица является реплицируемой и появляется во всех репликах.
MSysSchemaProb	Данная таблица существует только при возникновении ошибки при обновлении структуры реплики. В этой таблице сохраняется дополнительная информация о причине ошибки. Эта таблица является локальной и не реплицируется.
MSysExchangeLog	В данной таблице сохраняется информация о выполненных операциях синхронизации реплик. Эта таблица является локальной и не реплицируется..
Примечания

•	Все перечисленные таблицы становятся видимыми, когда видимыми делаются системные объекты. Для того чтобы указать, являются ли эти объекты видимыми, выберите в меню Сервис команду Параметры, выберите вкладку Вид и установите или снимите флажок Системные объекты.

•	Не допускается изменение содержимого таблиц «MSysErrors», «MSysSchemaProb» или «MSysExchangeLog» в реплицированных базах данных.


Изменение характеристик поля счетчика при репликации базы данных

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

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


Дополнительные ограничения на размеры реплицированной базы данных

Включение трех дополнительных полей («s_GUID», «s_Lineage» и «s_Generation») накладывает на таблицы два ограничения:

•	В ядре базы данных Microsoft Jet допускается не более 2048 байт в записи (не считая полей Memo и объектов OLE). При репликации требуется как минимум 54 байт для сохранения уникальных идентификаторов, индексов и информации об изменениях в записях. Если запись содержит поля Memo или поля объектов OLE, то при репликации используются дополнительные 4 байт на каждое такое поле. Максимальное количество байтов в записи в реплицированной таблице рассчитывается следующим образом:

2048 байт
- 54 байт на репликацию
- (4 байт * количество полей Memo)
- (4 байт * количество полей объектов OLE)
= максимальный доступный объем в байтах

•	В ядре базы данных Jet допускается до 255 полей в таблице, по крайней мере три поля из которых используют при репликации. Общее число полей, доступных для использования в реплицированных таблицах, рассчитывается следующим образом:

255 полей
- 3 системных поля
- количество полей Memo и полей объектов OLE
= количество доступных полей

В приложениях редко используются все доступные поля в таблицах или все байты в записях. Однако пользователи, работающие с большим числом полей Memo или полей объектов OLE, могу столкнуться с такими ограничениями

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

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

Размер файла базы данных является существенным по двум причинам.

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

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


Разрешение вопросов при репликации

Объект (таблица, форма, отчет, макрос, запрос или модуль) был переименован

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

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

Не удается найти основную реплику.

Не удается открыть основную реплику.

Не удается сделать реплику основной репликой.

В наборе образовались две основные реплики..

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

При переносе файла базы данных в «Портфель» не требуется выполнения репликации


Репликация баз данных предыдущих версий Microsoft Access

Предыдущие версии Microsoft Access до версии 7.0 не поддерживают репликацию баз данных. Таким образом, базы данных, созданные в этих версиях в исходном формате реплицировать невозможно.

Предусмотрено преобразование набора реплик, созданных в Microsoft Access 7.0 с помощью синхронизации набора с основной репликой, которая записана в формате Microsoft Access 97 (версия 8.0). Для получения дополнительных сведений по преобразованию набора реплик в формат Microsoft Access 97 нажмите кнопку  [image].


Не удается найти основную реплику

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

1	Откройте одну из реплик, входящих в набор.

2	Выберите в меню Сервис команду Репликация и подкоманду Синхронизация.

3	Для поиска других компонентов набора реплик на компьютере или в сети нажмите кнопку Обзор.

4	Выберите реплику, входящую в набор. Если в открывшемся окне диалога будет установлен флажок Присвоить 'ИмяФайлаРеплики' статус основной, найденная реплика является основной репликой.


Не удается открыть основную реплику

Основная реплика могла быть удалена или повреждена. Сделайте одну из реплик набора основной репликой. Для того чтобы получить справку о назначении реплики основной репликой, нажмите кнопку   [image].


Не удается сделать реплику основной репликой

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

Если по-прежнему не удается назначить реплику основной, а других сообщений об ошибке не выводится, реплика может быть повреждена. Удалите эту реплику и создайте новую. Для того чтобы получить справку об удалении реплики, нажмите кнопку   [image].


В наборе образовались две основные реплики

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

1	Определите, какая основная реплика является верной и должна будет и дальше служить основной репликой.

2	Удалите лишнюю основную реплику..

3	Удалите все реплики, для которых была выполнена синхронизация с удаленной основной репликой.

  	Инструкции

4	Создайте вместо удаленных новые реплики на основе оставшейся основной реплики.


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

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

2	Выберите в меню Сервис команду Репликация и подкоманду Синхронизация.

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

4	Нажмите кнопку OK.

5	Закройте и вновь откройте базу данных для просмотра обновленных записей..

6	Если данные окажутся неизмененными, возможен конфликт с другим компонентом набора реплик или изменение данных в других локальных объектах. Для получения дополнительных сведений о разрешении конфликтов при синхронизации нажмите кнопку  [image].


Объект, макет которого изменен в основной реплике, не изменяется в остальных репликах

1	Откройте основную реплику.

2	В меню Вид Microsoft Access выберите команду Свойства.

3	На вкладке Общие установите флажок Реплицируемый и нажмите кнопку OK.

4	Выберите в меню Сервис команду Репликация и подкоманду Синхронизация.

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


Требуется использовать другую программу устранения конфликтов при синхронизации

1	Откройте основную реплику набора реплик.

2	Выберите в меню Файл команду Свойства базы данных.

3	Выберите вкладку Прочие.

4	В поле Название введите ReplicationConflictFunction.

5	В поле со списком Тип выберите Текст.

6	В поле Значение введите имя специальной функции с последующими пустыми скобками ( ). Например, для использования функции с именем «MyResolver» введите MyResolver( ).

Для получения дополнительных сведений о свойстве ReplicationConflictFunction нажмите кнопку  [image].


При переносе файла базы данных в портфель не требуется выполнение репликации

Приложение «Портфель» выполняет репликацию файлов баз данных Microsoft Access, которые переносятся в «Портфель». Если репликация не требуется, измените расширение файла с .mdb (или .mde) на любое другое.


Преобразование баз данных с помощью приложения «Портфель»

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

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


Создание резервной копии

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


Назначение основной реплики с помощью портфеля

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


Репликация с помощью объектов доступа к данным (DAO)

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

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

Метод MakeReplica

Метод Synchronize

Свойство ConflictTable

Свойство DesignMasterID

Свойство KeepLocal

Свойство Replicable

Свойство ReplicaID

Свойство ReplicationConflictFunction

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

Свойство ReplicaFilter

Свойство PartialReplica

Метод PopulatePartial

Дополнительные сведения по репликации содержатся в главе 20 «Использование репликации в приложении» книги Разработка приложений для Microsoft Access 97. Дополнительную информацию по частичным репликам см. в разделе Создание частичных реплик.


Репликация баз данных (сущность и назначение)

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


Репликация баз данных (сущность и назначение)

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


Репликация баз данных (сущность и назначение)

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


Репликация баз данных (сущность и назначение)

В Microsoft Access 97 реализованы различные инструменты и подходы создания реплик и управления ими.


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


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


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


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


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


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

Изменения структуры или данных локальных объектов не распространяются на другие элементы набора реплик.


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


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


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


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


Для создания и синхронизации реплик в Microsoft Access 97 предусмотрены команды репликации меню Сервис. Эти команды следует использовать при необходимости создания реплик и синхронизации их с открытой базой данных. Для объявления объектов локальными или реплицированными в Microsoft Access следует изменить их свойства.


При использовании объектов доступа к данным (DAO) применяются их методы и свойства, например, метод MakeReplica и свойство DesignMasterID. Объекты DAO используются также для объявления объектов локальными или реплицируемыми.


Для создания реплики базы данных, которая находится на рабочем столе, достаточно перетащить файл на значок «Портфель». Основная реплика и реплика будут созданы автоматически.


Диспетчер репликации Microsoft служит для создания, планирования и управления наборами реплик.