Импорт данных from Excel to GDB

Запросы, планы, оптимизация запросов, ...

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

Ответить
Ovosh
Сообщения: 8
Зарегистрирован: 11 мар 2006, 16:10

Импорт данных from Excel to GDB

Сообщение Ovosh » 17 апр 2006, 11:44

Доброе время!

Хотелось бы поделиться опытом по поводу данной проблемы. Возможно инфа будет полезна тем, кому срочно нужно, но нет времени разбираться. Работаем через IBPump. Если необходимо читать непосредственно из xls, то выбираем ADO source, все как обычно (детали пропускаю), самое важное - Под таблицей в ODBC будет пониматься именованный диапазон и не что больше. В исходном Excel файле оставьте один рабочий лист и создайте именованный диапазон. Можно также использовать и другой способ - MS Access в качестве буфера, т.е. в аксесе создать связанную с xls таблицу и из нее запросом отбирать нужные данные в другую таблицу, кот и будет источником данных в IBPump. Все это можно автоматизировать с помощью макросов и js скрипта (запуск IBPump из командной строки).
P.S. В данном примере рассматривается способ исключительно с использованием IBPump, следует иметь в виду наличие и других способов импорта. Надеюсь кому-то это будет полезно. Аккуратнее с типами полей.

Klyk
Сообщения: 100
Зарегистрирован: 26 окт 2004, 23:28

Re: Импорт данных from Excel to GDB

Сообщение Klyk » 18 апр 2006, 23:56

.xls -> .DBF -> IBPump -> GBD
так кажется проще

noisy
Сообщения: 25
Зарегистрирован: 27 окт 2004, 13:21

Сообщение noisy » 19 апр 2006, 10:01

А я для себя выбрал метод импорта данных через PHP.
Любой скрипт дело пары минут, а еще и данные по своему обработать можно.
А главный плюс PHP как мне кажеться, поддержка большого числа СУБД.

Ovosh
Сообщения: 8
Зарегистрирован: 11 мар 2006, 16:10

Сообщение Ovosh » 19 апр 2006, 11:42

Каждый делает по-своему, просто часто видел вопросы на тему, а как непосредственно из xls перекинуть данные в gdb с помощью ODBC, вот и решил поделиться. А уж что плохо или хорошо - это другой вопрос.

Андрей
Сообщения: 17
Зарегистрирован: 26 окт 2004, 17:51

Сообщение Андрей » 22 апр 2006, 19:01

Естественно каждый делает по своему, для каждого случая возможны варианты.

Я для себя принял простой вариант - в Excel пишу простой (или не очень) макрос, который генерирует SQL-скрипт. А его потом заливаю с помощью isql.exe
Это позволяет не только перекинуть простую таблицу, но и произвести предварительную обработку данных.
Например, была у меня задача - бухгалтерия фирмы, которая производит торты. Написал шаблон в Excel, в который девочка-секретарь вводила сколько и каких тортов (более 30 наименований) в какие магазины отвезли (около 150). В Excel-файле на многих листах сделан расчет рецептуры всех тортов. Выполняя макрос я получал около 3000 записей для бухгалтерской программы (на IB) в виде SQL-скрипта которые заливал в БД.

Ответить