Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2010, 13:29   #1
koma_grusha
Редкий обитатель
Форумчанин
 
Аватар для koma_grusha
 
Регистрация: 08.04.2009
Сообщений: 170
По умолчанию Firebird. Синхронизация данных

Здравствуйте!
Начала изучать FireBird и возник такой вопрос:

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

В поиске конечно смотрела, но все что-то не то.
Заранее всем спасибо.
Мозг, хорошо устроенный, стоит больше, чем мозг, хорошо наполненный (Мишель Монтень)
koma_grusha вне форума Ответить с цитированием
Старый 23.03.2010, 15:05   #2
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

1) ну если интернет есть что мешает цепляться через него к одной общей базе?
2) Если Инет явление временное, то можно просто копировать новые данных из 1 базы в другую , боннальным запросом и insert
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 23.03.2010, 15:42   #3
koma_grusha
Редкий обитатель
Форумчанин
 
Аватар для koma_grusha
 
Регистрация: 08.04.2009
Сообщений: 170
По умолчанию

общая база не подойдет, должны быть два разных сервера, в двух разных зданиях
а банальный запрос и insert - непонятно, как сделать запрос из одного сервака и вставить в другой, даже через тот же инет? если можете, то объясните поподробней,
по сути аналогичная функция уже функционирует, как я уже писала через xml-фалы, там как раз таки идет запрос из одной, сохранение результатов запроса в файл и в другой идет insert из этого файла.
Мозг, хорошо устроенный, стоит больше, чем мозг, хорошо наполненный (Мишель Монтень)
koma_grusha вне форума Ответить с цитированием
Старый 23.03.2010, 16:03   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

М.м.м кто-то когда-то мне говорил что в современных СУБД есть понятие кластера, якобы это некое распределение по серверам (ну или обьединение разных баз в одну). Вот чаще всего я слышал про распределенные СУБд в контексте Оракла, но помоему в MS SQL тоже есть что-то подобное, когда две разные БД можно "объединить" в одну.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.03.2010, 20:53   #5
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
но помоему в MS SQL тоже есть что-то подобное, когда две разные БД можно "объединить" в одну.
и при чем здесь мсскл?

вот поиском по "репликация в ФБ" с ходу нашел раз и два

добавлю, что лучше самописная - код точно можно будет подправить
soleil@mmc вне форума Ответить с цитированием
Старый 24.03.2010, 08:13   #6
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

koma_grusha
поступаю так, в базе у меня есть в каждой таблице столбец syn_date , который меняется (тригером) при любых update insert и т.п.
Тупо выбираю запросом
Код:
q.sql.text:='select * from table where syn_date=Now' 

далее можно через через insert в цикле
while not q.eof do
begin
qq.sql.text:='insert into table values (.......)'
q.next;
end;
через параметры будет быстрее, но думаю принцип понятен, можно и столбец syn_time и хоть каждые 5 минут синхронизировать.

p.s.
q и qq в данном случаи подключены к разным БД . через разный connect
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 24.03.2010, 08:18   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
и при чем здесь мсскл?
Я как пример привел, ибо в разговорах, которые я слышал именно МССКЛ и Оракл упоминались. Я то сам далек от такого разделения базы.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.03.2010, 10:04   #8
koma_grusha
Редкий обитатель
Форумчанин
 
Аватар для koma_grusha
 
Регистрация: 08.04.2009
Сообщений: 170
По умолчанию

Цитата:
М.м.м кто-то когда-то мне говорил что в современных СУБД есть понятие кластера, якобы это некое распределение по серверам (ну или обьединение разных баз в одну). Вот чаще всего я слышал про распределенные СУБд в контексте Оракла, но помоему в MS SQL тоже есть что-то подобное, когда две разные БД можно "объединить" в одну.
да, на MS SQL уже делала что-то подобное, и сделала бы с удовольствием еще раз, но требуют с меня именно Firebird, в первую очередь из-за free, а на нем такое писать пока еще не приходилось, да и вообще писать не приходилось, вот и ломаю голову...

для BARNEY, в принципе такой вариант тоже мелькал в голове, но тогда еще вопрос, как в ФБ настроить удаленное соединение к другой БД в другой сети? Потому что я для примера взяла два соединения, а таких зданий может быть больше, это своего рода филиалы, и головному зданию нужно собирать с них данные, и в данном случае получается нужно плодить в программе не один коннект, пусть даже динамически
Мозг, хорошо устроенный, стоит больше, чем мозг, хорошо наполненный (Мишель Монтень)

Последний раз редактировалось koma_grusha; 24.03.2010 в 10:06.
koma_grusha вне форума Ответить с цитированием
Старый 24.03.2010, 11:32   #9
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Я то сам далек от такого разделения базы.
странно
самая обычная задача поддержания одинаковых каталогов, движения, остатков в нескольких филиалах
soleil@mmc вне форума Ответить с цитированием
Старый 24.03.2010, 11:39   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
странно
Ниче странного, просто задачи такие не вставали.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Синхронизация данных Gizo Помощь студентам 6 31.01.2010 17:16
EMS InterBase & FireBird Manager 3 ошибка создания Базы данных Gilio БД в Delphi 2 08.05.2009 15:59
Синхронизация баз данных Ramires БД в Delphi 6 15.08.2008 03:34
Объединение (синхронизация) данных в Microsoft Office Excel Алексндр Microsoft Office Excel 2 29.07.2008 08:12
Импорт внешних данных, синхронизация по времени slba Microsoft Office Excel 3 15.07.2008 13:05