Форум: "Базы";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];
ВнизНужна идея. Передача даных с одной БД в другую (FireBird) Найти похожие ветки
← →
_RusLAN © (2006-01-20 14:42) [0]Здравствуйте!
Помогите советом.
Нужно организовать передачу данных из одной БД в другую через файл.
Точнее, есть база (Firebird), из нее надо выбрать некоторую информацию (информация из разных таблиц и между ними есть связи),
сохранить ее в файл
файл перенести на другой компьютер и из него информацию перенести в другую базу (тоже Firebird).
Каким способом лучше все это делать?
Спасибо.
← →
Sergey13 © (2006-01-20 14:52) [1]А инфу надо в чистые таблицы закачивать или пополнять имеющиеся?
← →
_RusLAN © (2006-01-20 15:15) [2]Sergey13 © (20.01.06 14:52) [1]
А инфу надо в чистые таблицы закачивать или пополнять имеющиеся?
В чистые.
Новая база будет содержать только ту информация которая выберется из основной.
← →
Digitman © (2006-01-20 15:22) [3]метаструктура обеих баз одинакова ?
← →
Sergey13 © (2006-01-20 15:27) [4]2[2] _RusLAN © (20.01.06 15:15)
Тогда все просто и разнообразно.
1.Самое простое - создай копию БД через бэкап, удали все ненужное и отдай готовую базу.
2.Выведи нужные таблицы в новые внешние таблицы и отдай их. Там обратная процедура.
3.Вывести нужное в отдельный(е) файл(ы) в виде скрипта на вставку. У потребителя - накатить скрипт.
4.Можно сохранить например через CDS (прямо со связями), а у потребителя перегнать в БД.
Может и еще как можно.
← →
DSKalugin © (2006-01-20 15:32) [5]выгрузить результат запроса в файл TFIBQuery.BatchOutputRawFile
сархивировать, если файл большой
перенести на другую машину
распаковать, если он был запакован арзхиватором
загрузить данный в запрос TFIBQuery.BatchInputRawFile
и использовать эту информацию по своему усмотрению
хош по таблицам расталкивай, хош распечатай и сожги...
и так по каждой таблице
аналогично смотри
TFIBOutputDelimitedFile
← →
msguns © (2006-01-20 15:33) [6]>Sergey13 © (20.01.06 15:27) [4]
>Может и еще как можно.
Datapump ?
← →
Sergey13 © (2006-01-20 15:36) [7]2[6] msguns © (20.01.06 15:33)
Помпой вроде можно, если обе БД доступны в онлайне. Нет?
← →
DSKalugin © (2006-01-20 15:39) [8]если обе в онлайне, то достаточно одной базы данных, вторая тут не нужна
все подключения перевести на единую базу
← →
msguns © (2006-01-20 15:53) [9]>Sergey13 © (20.01.06 15:36) [7]
>Помпой вроде можно, если обе БД доступны в онлайне. Нет?
Я имел в виду репликацию по схеме:
Комп 1:
Старая БД -(помпа)-> БД к репликации (любой формат) -> rar
Комп 2:
rar -> БД к репликации (любой формат) -(помпа)-> Новая БД
Правда, для этой схемы нужно, чтобы на обеих тачках было помпа ;)
← →
Sergey13 © (2006-01-20 15:59) [10]2[9] msguns © (20.01.06 15:53)
Тогда да, наверное.
← →
Desdechado © (2006-01-20 16:02) [11]самое простое - выгрузить в скрипт, загрузить из скрипта
только триггеры на автоинкремент (и прочие подобные) отключить при загрузке, а потом вручную увеличить генераторы
← →
_RusLAN © (2006-01-20 16:13) [12]Всем спасибо!
Уточню еще задачу, а то предложеных вариантов много - не знаю какой выбрать.
Основная база будет содержать много таблиц, информации в которых будет накапливатся годами.
Информация для этой базы собирается с разных объектов в разных городах.
Когда пользователь едет на объект то берет с собой (в свое локальной базе) информацию только из нескольких таблиц. Их можно разбить на два типа:
1. таблицы-справочники которые должны содержать вс ю информацию из основной базы (несколько тис. записей).
2. таблицы которые должны содержать только последние записи из основной базы.
Пользователь на обьекте добавляет записи в таблицы тип.2. Где каждая запись ссылается на предыдущую а также на справочники, между которыми также есть связи.
Также пользователь может добавлять записи и в справочники.
Потом из базы пользователя надо перенести все новые записи в основную базу.
Я думаю делать так:
Создать чистую базу из скрипта.
Записи из таблиц тип.2 передать тоже через скрипт.
А вот справочники через скрипт наверно не получится - много записей. Думаю подойдет вариант со внешними таблицами, буду разбиратьсячто это такое.
Такой вариант подходящий?
← →
msguns © (2006-01-20 16:25) [13]Почитай о репликациях
← →
UnDISCOvery (2006-01-20 17:00) [14]В ADO есть такая штука - Briefcase ... как раз для переноса данных коммивояжерам :)
← →
Desdechado © (2006-01-20 18:24) [15]много записей для скрипта не проблема
при "гонянии" данных туда-сюда только репликация
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.014 c