Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: CL | DM;

Вниз

<<< Общение между двумя БД в реальном времени >>>   Найти похожие ветки 

 
Realist   (2004-04-27 23:11) [0]

Мне нужно реализовать общение между двумя БД в реальном времени(используються БД -- mySQL и FoxPro). То есть, чтобы при изменении базы foxpro -- изменялась база mysql(например -- изменилось какое-то поле в базе foxpro -- изменилось это поле и в базе mysql).

Дело в том, что в моём случае нельзя поставить только mysql и работать с ним(на фирме много программ используют foxpro, а перестройка их на mysql -- и долго и ненужно -- много разных программ используют FoxPro). НУЖНО СДЕЛАТЬ ИМЕННО ОБЩЕНИЕ БАЗ ДАННЫХ В РЕАЛЬНОМ ВРЕМЕНИ. Это единственный выход в моей ситуации.

Есть варианты:

1) Запустить резидент, который постоянно(скажем через каждые 30 сукунд) будет сравнивать последние даты обновления базы foxpro и mysql(mysql лежит на удал. машине -- на хосте) и если они отличаются, то в соответствии с базой на foxpro изменяем базу mysql;

2) Написать программу, с пом. которой будет редактироваться база foxpro и при завершении её редактирования(скажем при нажатии на кнопку)замена данных происходит сразу в обоих базах.
А сравнение баз в этой ситуации можно осуществить в целях нахождения искажённых данных(чтобы восстановить если чего -- хотя если базу mysql поместить на сервак прова, то притензии к нему если что-нить с серваком и как следствие искажение данных).

Мне нравиться больше 1-й.

Недостатки ... Преимущества ....

КАКОЙ СПОСОБ МОЖЕТЕ ПОСОВЕТОВАТЬ ???

-------------------------
Какие ресурсы (компоненты работы с mysql, foxpro) ?
Придёться делать дубликат базы foxPro в mysql, а потом этот дубликат сравнивать с удал. -- это время -- как можно быстрее ? -- чтобы дубл не делать, а сразу сравнивать(какой драйвер исп).


 
Jack128 ©   (2004-04-27 23:17) [1]

Если у тебя много программ, работающих с Fox"ом, то в чем суть второго способа? Или все эти проги, кроме одной только на чтение, и именно эту одну ты хочешь переписать?

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

Если сам Fox имеет какие нить средства нотификации об изменениях таблиц(а-ля тригеры), то может быть...


 
Курдль ©   (2004-04-27 23:27) [2]


> на фирме много программ используют foxpro

ЭТО ТЕХНОЛОГИЧЕСКАЯ ДИВЕРСИЯ! НАЙТИ САБОТАЖНИКОВ!

Меня бы от такой задачи затошнило так, что однажды я бы все-таки переписал все программы (а сколько их?) на клиент-сервер.


 
Jack128 ©   (2004-04-27 23:29) [3]


> Меня бы от такой задачи затошнило так, что однажды я бы
> все-таки переписал все программы (а сколько их?) на клиент-сервер.
ага, это - мечта русского программиста :-)


 
DrPass ©   (2004-04-27 23:37) [4]


> Мне нужно реализовать общение между двумя БД в реальном
> времени(используються БД -- mySQL и FoxPro). То есть, чтобы
> при изменении базы foxpro -- изменялась база mysql(например
> -- изменилось какое-то поле в базе foxpro -- изменилось
> это поле и в базе mysql).

Будь реалистом - такой программный уродец никогда не сможет нормально работать.
Я добавлю третий вариант:
Не использовать MySQL, если старый софт работает на фоксе, пусть и новый тоже на нем работает. Либо переносить все и сразу на MySQL.


 
Realist   (2004-04-28 00:53) [5]

Именно так нужно сделать -- никак не перепишешь под MySQL -- за там их штук 30 этих программ, кот работают с foxPro. Это времени займёт немеряно, тем более, что заказчик не хочет нивкакую использовать одну.
База будент не больше 50х5000.

Так какие может компон. етсь -- можете посоветовать ???


 
Sergey13 ©   (2004-04-28 08:43) [6]

2Realist   (27.04.04 23:11)
Для поставленых условий твоя мечта - утопия, ИМХО. Никакие компоненты не спасут отца Русской демократии, только финансовые вливания.
Слышал я про сервер Адвантаж (так вроде), он в качестве хранилища может использовать dbf файлы. Вроде бы даже проги на Фоксе переписывать не надо. Это вроде как полноценный сервер, но, ессно, за полноценные деньги. Подробности в инете сам ищи, если интересно.


 
Nikolay M. ©   (2004-04-28 09:14) [7]


> Так какие может компон. етсь -- можете посоветовать ???

Угу. Компонент TSynchronizeDatabases.
Делаешь ему Active := True и все в шоколаде. Убивают меня такие заявления. Что бы такое сделать, чтобы ничего не делать.
Переводить все на трехзвенку и реализовывать синхронизацию на уровне Application-сервера. В принципе, это твой вариант 2), только "программа, с пом. которой будет редактироваться база foxpro" на самом деле называется сервером приложений.


 
Polevi ©   (2004-04-28 09:54) [8]

>Nikolay M. ©   (28.04.04 09:14) [7]
этот в РЕАЛЬНОМ ВРЕМЕНИ не работает, тут нужен TRealTimeDatabaseSynchronizer


 
Nikolay M. ©   (2004-04-28 10:10) [9]


> Polevi ©   (28.04.04 09:54) [8]
> >Nikolay M. ©   (28.04.04 09:14) [7]
> этот в РЕАЛЬНОМ ВРЕМЕНИ не работает, тут нужен TRealTimeDatabaseSynchronizer


С ним сложнее. Там многопоточность, параллельность и асинхронность, вдруг еще в пропертях придется разбираться...
А у TSynchronizeDatabases только одно свойство (Active) и ни одного события - все сам делает.


 
Polevi ©   (2004-04-28 10:16) [10]

а ну да, разбираться это ацтой :)



Страницы: 1 вся ветка

Текущий архив: 2004.05.23;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.024 c
7-1081355785
bob5
2004-04-07 20:36
2004.05.23
Установка принтера по умолчанию


4-1081453590
anod
2004-04-08 23:46
2004.05.23
WM_MENUSELECT


3-1083245382
Korefey
2004-04-29 17:29
2004.05.23
SQL


1-1084245986
Dark Man
2004-05-11 07:26
2004.05.23
Как заставить форму пропадать по подтверждению ???


3-1083138832
Viktor
2004-04-28 11:53
2004.05.23
pack table