Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Репликация в Access

1.5K
07 августа 2003 года
shtutsa
50 / / 27.03.2003
Вопрос к знатокам Access.

Есть основная база Access (одна база Access с таблицами+плюс клиенты Access со связанными таблицами) и удаленная база (одна база Access с таблицами+плюс клиенты Access со связанными таблицами). Удаленная база должна содержать часть первой (частичная репликация). В ней изменения данных не происходят - она предназначена только для чтения данных.

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

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

Я смотрел Сервис-Репликация. Репликацию он проводит, но только при этом не создается файл и удаленную базу надо иметь "под рукой".

Спасибо.
258
18 августа 2003 года
SergeySV
1.5K / / 19.03.2003
А ты с методом DAO dbs.Synchronize не игрался? что-нибудь типа такого:

Set dbs = OpenDatabase("C:\basa.mdb")
dbs.Synchronize "www.yahoo.com/files/basa.mdb", dbRepImpExpChanges + dbRepSyncInternet
1.5K
08 сентября 2003 года
shtutsa
50 / / 27.03.2003
Цитата:
Originally posted by SergeySV
А ты с методом DAO dbs.Synchronize не игрался? что-нибудь типа такого:

Set dbs = OpenDatabase("C:\basa.mdb")
dbs.Synchronize "www.yahoo.com/files/basa.mdb", dbRepImpExpChanges + dbRepSyncInternet



Это и есть стандартная синхронизация БД в Access. Для этого необходимо, чтобы вторая база была доступна через Инет.
Вариант проигрышный, т.к. БД содержит конфиденциальную информацию. Хотелось бы данные для синхронизации писать в файл, который затем шифровать и высылать электронной почтой.
А вот возможность писать такой файл в Access я не нашел. Может еще что-то можно предложить?

258
08 сентября 2003 года
SergeySV
1.5K / / 19.03.2003
Хмм... в файл говоришь, надо подумать ;-)
Ты только изм. данные хочешь или еще модули, формы?
258
08 сентября 2003 года
SergeySV
1.5K / / 19.03.2003
Значит, если данные, то я это вижу так:

Рассматриваем вариант, когда одна база изменяется и эти изменения надо передать в другую, "неподвижную", базу.
Начало: две базы идентичны.
1. В первой базе(которая будет изменяться) создается копия таблиц, которые ты хочешь синхронизировать со второй базой (для примера возмем одну таблицу: оргинал - Таб1, ее копия - Таб_Вр1).
2. Первая база поработала, содержание Таб1 изменилось. Запускаем запрос на сравнение Таб1 и Таб_Вр1. Этот запрос сразу создаст новую таблицу с несовпавшими записями - Таб_Изм1.
3. Таб_Изм1 - экспортируем в файл какого-нибудь формата (txt, xls и т.д.), шифруем его, посылаем почтой.
4. В первой базе приводим в соответствии Таб1 и Таб_Вр1. Либо удаляем Таб_Вр1 и создаем копию Таб1, либо дополняем Таб_Вр1 так, чтобы он Таб_Вр1=Таб1.
5. Вторая база получает файл, импортирует его себе в виде новой таблицы - Таб_Изм1.
6. Запускаем запрос на изменение данных в Таб1 (второй базы) в соответст. с Таб_Изм1.

Вообщем, вот так...

Думаю без 1,2 пункта не обойтись, а вот с последующими можно и побаловаться. Например таблицу с новыми данными экспортировать не простой файл, а вдругую пустую базу данных (создать ее по быстрому) и потом ее уже сжимать, шифровать, передавать, а там уже пихать ее как реплику и запускать репликацию...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог