Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.053 c
11-1072126277
Revolter
2003-12-22 23:51
2004.05.23
TKolComboBox.DroppedWidth


6-1080925645
Ivolg
2004-04-02 21:07
2004.05.23
Чат


1-1084364369
V l a d i m i r
2004-05-12 16:19
2004.05.23
Про OleContainer


14-1083674325
****
2004-05-04 16:38
2004.05.23
Вот думаю ,думаю и никак не придумаю : что означает слово "ИМХО"?


1-1084192563
Vitalnet
2004-05-10 16:36
2004.05.23
Скажите как правильно работать с TreeViewer





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский