Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
15-1140018843
XeON
2006-02-15 18:54
2006.03.12
Лицензия Delphi 6 personal


9-1126260217
thr3ad
2005-09-09 14:03
2006.03.12
GLScene персонаж проходит сквозь объекты


2-1140780704
Ландграф Павел
2006-02-24 14:31
2006.03.12
Получить из относительного пути абсолютный


2-1140524133
dera
2006-02-21 15:15
2006.03.12
Подскажите, как создать интерактивную карту?


2-1140444833
veb
2006-02-20 17:13
2006.03.12
Русские вопросики на не русских виндах





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