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

Вниз

НЕ-сетевой обмен данными между двумя БД   Найти похожие ветки 

 
mio   (2002-12-03 14:11) [0]

Граждане! Дано: два IB-сервера с одинаковыми по структуре базами. Найти: методику переноса данных с одного на другой ПРИ ПОМОЩИ ФАЙЛОВОГО ОБМЕНА. Сетевой MIDAS с соединениями через DCOM, сокеты и вообще через сеть заказчика не удовлетворяет. Перенос всей БД в виде GBD-файла не удовлетворяет меня.


 
Наталия   (2002-12-03 14:20) [1]

www.ibase.ru
ищи по слову "репликация"


 
Prooksius   (2002-12-03 14:20) [2]

Полезно почитать это:
http://www.ibase.ru/develop.htm
Раздел Репликация
Можно, к примеру, генерировать скрипт для обновления базы и запускать на сервере со старой базой.


 
kaif   (2002-12-03 14:41) [3]

Можно делать Backup, перенос файла и Restore (база сильно сжимается при этом). Однако это только если база переносится целиком.


 
asmith   (2002-12-03 16:13) [4]

Можно организовать такую схему:
1.Source-сервер автоматически протоколирует все изменения данных в базе в виде специального лога - в нашей реализации лог формировали треггера и писали его в отдельную таблицу
2.Приложение-publisher по расписанию соединяется с Source-сервером, считывает лог и формирует XML-посылку, содержащую в себе все измененные записи из разных таблиц (XML хорош тем, что может хранить иерархические данные, т.е. с подчиненными таблицами; кроме того он самодокументируем) - в нашей реализации publisher построен как системный сервис
3.Далее посылка транспортируется тем или иным путем к приложению-subscriber-у (подписчику) или даже нескольким (publisher ведет список адресатов и методов отсылки) - мы реализовали для себя 2 вида транспорта - удаленная репликация по HTTP протоколу и локальная в пределах локальной сети.
4.В любом случае XML-посылка падает в заданный фолдер файловой системы подписчика, подписчик является системным сервисом, мониторящим изменение содержимого этого фолдера
5.Зафиксировав изменения, подписчик выбирает последовательно полученные посылки, парсит их и формирует SQL-пакет для выполнения его на Target-сервере.
Для обеспечения надежности работы все операции следует также протоколировать, обеспечивая возможность повторной публикации при неудаче предыдущей попытки. Можно использовать другой транспорт - приносить файлы на место и просто кидать их подписчику, посылать мылом с автоматическим извлечением присоединенных XML-посылок и опять таки их киданием подписчику.


 
mio   (2002-12-06 11:47) [5]

М-да...
Собственно, логические проблемы репликации меня НЕ интересуют.
Я всего лишь хотел спросить про метод, которым можно быстренько залить данные из БД в xml или в текстовый файл, или в любой двоичный, а потом восстановить из него. Причем хорошо бы, чтобы метод не был привязан к стркутуре сннкретных таблиц, ибо структура БД будет еще у меня меняться...


 
Наталия   (2002-12-06 11:53) [6]

Ну тогда смотри
kaif © (03.12.02 14:41)


 
asmith   (2002-12-06 14:01) [7]

В сети есть куча примеров генерации xml (или в текстового файла) по схеме набора данных, так что никакой привязки к структуре. Еще проще экспорт в CSV-файл.



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

Форум: "Базы";
Текущий архив: 2002.12.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
14-86127
LazorenkoX
2002-12-04 23:28
2002.12.26
Borland C++ Builder


1-85932
eLVik
2002-12-17 15:03
2002.12.26
Цвет фона ячейки в StringGrid


6-86072
RomanRom2
2002-10-29 14:58
2002.12.26
Вернуть IP адрес подключаемого компа к моему серверу


14-86136
Ежик
2002-12-05 16:27
2002.12.26
Встреча мастеров Delphi в Эстонии.


1-85913
SG78
2002-12-10 17:43
2002.12.26
Handle ListBox у ComboBox





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский