Синхронизация таблиц между базами данных удаленного доступа - PullRequest
1 голос
/ 30 марта 2010

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

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

Приветствия заранее,

Пол

Ответы [ 2 ]

1 голос
/ 02 апреля 2010

Jet Replication - это один из ответов, но не простой, поскольку для удаленного местоположения необходимо использовать косвенную репликацию или репликацию через Интернет, обе из которых довольно сложны в настройке и требуют регулярного обслуживания для обеспечения надежной работы.Тем не менее, косвенная репликация работает очень хорошо (я никогда не использовал репликацию через Интернет из-за аппаратной зависимости от IIS, которую я считаю неприемлемой).

Для получения информации об одном подходе к покупке Jet Replication см. Jet Replication Wiki .

Microsoft постепенно прекращает поддержку репликации Jet в Access (хотя я ожидаю, что она будет поддерживаться, пока файлы MDB поддерживаются без преобразования), поэтому лучшее решениепроблема может заключаться в том, чтобы использовать инструменты, которые Microsoft внедрила для замены функциональности Jet Replication.Это будет Sharepoint, конечно.В A2007 Sharepoint был слишком неадекватен для правильной замены репликации Jet, но, начиная с A2010 и Sharepoint 2010, все это меняется.

Если бы у меня появился новый клиент с этим требованием, даже еслиЯ имею многолетний опыт работы с репликацией Jet, я бы порекомендовал A2010 и Sharepoint 2010 в качестве решения проблемы и сказал бы подождать.

Может случиться так, что клиент не захочет перейти на сервер Sharepoint, и в этом случае будет доступен хостинг Sharepoint, который должен поддерживать Sharepoing 2010 вскоре после выхода Office 2010 в мае.

Конечно, можно также программировать синхронизацию вручную, но это довольно сложно в сценарии с несколькими мастерами.Однако, если записи в двух базах данных не перекрываются (т. Е. Записи, созданные в одной, не обновляются в другой, или, другими словами, это в основном приложение, предназначенное только для добавления для каждой базы данных), это не такая уж плохая проблема.Удаление - более сложная проблема, но не решаемая.

0 голосов
/ 01 апреля 2010

Для вашего поля PK Autonumber используйте ReplicationID (GUID) вместо long, чтобы числа были уникальными для всех копий базы данных, даже если они отключены.

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

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