dbf в fdb

Модераторы: kdv, CyberMax

Ответить
Unsiker
Сообщения: 18
Зарегистрирован: 17 июл 2007, 18:07

dbf в fdb

Сообщение Unsiker » 16 авг 2007, 21:48

На работе вовсю используются фокс-прошные базы (*.dbf). Подскажите как можно dbf таблицу перевести в таблицу в базе Firebird.

stix-s
Заслуженный разработчик
Сообщения: 557
Зарегистрирован: 13 дек 2005, 11:52

Re: dbf в fdb

Сообщение stix-s » 17 авг 2007, 06:44

Unsiker писал(а): На работе вовсю используются фокс-прошные базы (*.dbf). Подскажите как можно dbf таблицу перевести в таблицу в базе Firebird.
1 создать структуру таблицы в FB
2 перегнать данные, например IBPump или свое наваять, если желание и время есть

Kotъ-Begemotъ
Сообщения: 250
Зарегистрирован: 25 июл 2007, 21:33

Re: dbf в fdb

Сообщение Kotъ-Begemotъ » 17 авг 2007, 21:00

stix-s писал(а):
Unsiker писал(а): На работе вовсю используются фокс-прошные базы (*.dbf). Подскажите как можно dbf таблицу перевести в таблицу в базе Firebird.
1 создать структуру таблицы в FB
2 перегнать данные, например IBPump или свое наваять, если желание и время есть
Зачем что-то создавать? Pump сам это прекрасно делает...

По делу, думаю что поставить IBExpert и скачать IB Data Pump в качестве плагина к нему. Я Paradox'овскю базу на пробу перегнал недавно, прошло. Есть правда нюансы с которыми надо разбираться, но в целом сработало нормально.

stix-s
Заслуженный разработчик
Сообщения: 557
Зарегистрирован: 13 дек 2005, 11:52

Re: dbf в fdb

Сообщение stix-s » 17 авг 2007, 21:06

Kotъ-Begemotъ писал(а): Зачем что-то создавать? Pump сам это прекрасно делает...
Есть правда нюансы с которыми надо разбираться, но в целом сработало нормально.
Нееее, я лично предпочитаю сам контролировать процесс, так сказать ......., дабы потом ньюансы не разгребать
но это я так, к слову, но если придется данные из Excel перегонять - будь бдителен, у него (Excel) свое понятие о формате данных

Unsiker
Сообщения: 18
Зарегистрирован: 17 июл 2007, 18:07

Сообщение Unsiker » 18 авг 2007, 01:34

Ексель в даном случае не уместен, так как база бльшая, порядка 100,000 записей. Попробую пимпом.

Был вариант создать дамп дбф-ной базы, но как то сам собой отпал из-за количества строк.

Slavik
Сообщения: 115
Зарегистрирован: 17 янв 2007, 11:52

Сообщение Slavik » 18 авг 2007, 18:38

Unsiker писал(а):Ексель в даном случае не уместен, так как база бльшая, порядка 100,000 записей. Попробую пимпом.
Можно ещё Access'ом ;). Copy-Paste. Я так пару раз около 30 тыс. записей перегонял единоразово :).

stix-s
Заслуженный разработчик
Сообщения: 557
Зарегистрирован: 13 дек 2005, 11:52

Сообщение stix-s » 19 авг 2007, 20:29

Slavik писал(а):
Unsiker писал(а):Ексель в даном случае не уместен, так как база бльшая, порядка 100,000 записей. Попробую пимпом.
Можно ещё Access'ом ;). Copy-Paste. Я так пару раз около 30 тыс. записей перегонял единоразово :).
да, с Access проблем меньше было, поскольку в свое время пришлось именно в Access таблицы из Excel импортировать

asmator
Сообщения: 1
Зарегистрирован: 29 янв 2008, 08:50

Сообщение asmator » 29 янв 2008, 09:16

Топик устарел, но у меня такой же вопрос.

В книге ХБ по Firebird сказано что перевод БД из "настольной БД" в SQL сервер часто сопровождается длительными операциями, и, в конце концов, голову программиста приносят юзерам на блюде.

Всё ещё зависит от того КАКАЯ таблица переносится в SQL.
К примеру мой вариант. За пол года накапливается около 90 тысяч строк.


Колонки:
1: Документ
2: Форма печати
3: Дата печати
4: Время печати
5: Пользователь
6: Компьютер

Т.к. DBF это одна таблица, а SQL это целый набор взаимосвязанных таблиц... нужно решить КАК переносить колонки 2,5,6.
Иначе получатся колонки с повторяющимися длинными значениями :?

2: Всего 3 формы печати, названия форм длиной до 15 символов.
5: Имена пользователей. 20 разновидностей юзеров, по 15 символов.
6: Компьютеры. 2-3 типа значения, строка 10 символов.


Нужно завести домены?
PRN_FORMS, 1C_USERS, COMPUTERS.

Я читал в книжке ХБ, там сказано что домены это типы данных.
Уместны ли они в моём случае - не знаю...

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 29 янв 2008, 10:05

За пол года накапливается около 90 тысяч строк.
убиться можно, какой страшный объем.
эти 90 тысяч импортируются максимум за 10 минут, даже при плохо написанном коде импорта.
нужно решить КАК переносить колонки 2,5,6.
вообще-то, у человека, который проектировал БД, такого вопроса не возникает.
Нужно завести домены?
а что, домены сами импортируют данные?

как я понял, у вас и базы-то еще нет. Сделайте базу сначала. импортом потом будете заниматься.

stix-s
Заслуженный разработчик
Сообщения: 557
Зарегистрирован: 13 дек 2005, 11:52

Сообщение stix-s » 29 янв 2008, 10:11

asmator писал(а):Топик устарел, но у меня такой же вопрос.

В книге ХБ по Firebird сказано что перевод БД из "настольной БД" в SQL сервер часто сопровождается длительными операциями, и, в конце концов, голову программиста приносят юзерам на блюде.

Всё ещё зависит от того КАКАЯ таблица переноситься в SQL.
К примеру мой вариант. За пол года накапливается около 90 тысяч строк.


Колонки:
1: Документ
2: Форма печати
3: Дата печати
4: Время печати
5: Пользователь
6: Компьютер

Т.к. DBF это одна таблица, а SQL это целый набор взаимосвязанных таблиц... нужно решить КАК переносить колонки 2,5,6.
Иначе получатся колонки с повторяющимися длинными значениями :?

2: Всего 3 формы печати, названия форм длиной до 15 символов.
5: Имена пользователей. 20 разновидностей юзеров, по 15 символов.
6: Компьютеры. 2-3 типа значения, строка 10 символов.


Нужно завести домены?
PRN_FORMS, 1C_USERS, COMPUTERS.

Я читал в книжке ХБ, там сказано что домены это типы данных.
Уместны ли они в моём случае - не знаю...
1-С чего ты решил, что дбф-одна таблица? сколь захочешь, столь и сделаешь, все зависит от структуры твоей БД, то, что в дбф каждая таблица - отдельный файл, еще не означает, что она может быть только одна
Количество строк повлияет только на время перекачки :) хоть миллион переноси
2-при переводе на SQL -сервер тебе решать, изменится у тебя структура БД или останется прежней, конечно при изменении структуры придется поломать голову, как старые данные в новую структуру запихать
3-домены для облегчения твоей жизни, дабы не приходилось однотипные поля (типа varchar(45)) каждый раз заново описывать, а просто создать домен и на его основе поля однотипные

Gera
Сообщения: 53
Зарегистрирован: 12 мар 2008, 17:34

re: asmator

Сообщение Gera » 27 мар 2008, 13:15

По моему опыту, если необходимо запихнуть в FireBird данные из ДБФ, да еще и переконвертировать, то лучше временно создать таблицы DBF_<имя дбф-файла> с прежней структурой, загрузить в них оригинал (тем же DataPump) и далее работать уже с ними, подгоняя под новую структуру.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 27 мар 2008, 14:14

опять некрофильствуем? заблокирую ведь логин. Ну что за удовольствие добавлять комменты к мертвым топикам?

Ответить