Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Репликация [D5, dBase, FoxPro, ]


Victor Tsay ©   (2001-11-29 10:02:00) 

Доброго всем дня!

Посоветуйте, пожалуйста, как лучше написать обработку переноса и обновления данных.
Имеются два компьютера, которые соединяются один раз в день по модему. Изменять и добавлять данные могут на любом из компьютеров. Может кто посоветует как элегантнее сделать репликацию и актуализацию данных. Сейчас я склоняюсь к тому что для каждой таблицы делаю ее копию куда при событии "Post" записываю измененную или добавленную запись и в дальнейшем передаю все изменения (копии таблиц) по модему. При получении обрабатываю полученные таблицы и соответственно добавляю или изменяю рабочую базу.
Но мне этот способ совсем не нравится. Слишком он громоздкий, слишком много таблиц. Может кто нибудь сталкивался с этим?
Заранее благодарю за ответ.


Dick Gonsales   (2001-12-04 05:33:00) [1]

Ты можешь при анализе POST
сразу рисовать строку на
соответствующую операцию (APPEND FROM / DELETE FROM / )
и записывать в виде ddhhmmss.PRG
и отправлять его по модему на другую машину
скажем раз в 30 минут, с той стороны аналогично
принятые файлы ты с помощью за цикленого bat
который по нахождению файла *.prg его исполняет и затем
move drive:/arc/yymmdd/

При этом у тебя я так понимаю будет полюбому
куча вопросов если твои работники изменили
одну и туже строку за эти полчаса, кто из них прав???
Можно конечно добавлять в каждую таблицу по полю
last_update (DATE) и смотреть по нему кто позже тот и парв,
но это уже чисто ваша конкретная заточка и решить
ее можете только вы. Отследить такие записи по тому же
last_update (date)


p@s   (2001-11-29 10:22:00) [2]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо