C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Что быстрее XML, dBase, Excel?
** full_lamer
Отправлено: 06.04.2005, 15:43


Не зарегистрирован







доброго времени суток!
поделитесь опытом — что быстрее работает XML, dBase, Excel, TXT?
из чего быстро получить загрузить информацию?
характер информации: цифры и строки (50-250).
спасибо.
** full_lamer
Отправлено: 06.04.2005, 15:44


Не зарегистрирован







как бы если не сложно подскажите еще быстрые компоненты для работы с этими источниками данных. спасибо.
avc*
Отправлено: 06.04.2005, 15:58


Не зарегистрирован







TXT — так быстро, как вы сможете написать. Но на 50 — 250 строках за исключением Excel вы разницу не заметите. smile.gif
Компонент, для начала, TStringList.
А вообще зависит от того, чем подготовлена информация.
И еще, структуированные данные, по идее, должны содержать меньше ошибок.
(dbf, xml)
** full_lamer
Отправлено: 06.04.2005, 16:08


Не зарегистрирован







2avc
я не правильно выразился — не 50-250 строк — а 50-250 символов в каждой строке, а строк около 13000...
просто будет происходить импорт из одного из источников в базу данных... с возможной предварительной обработкой...
avc*
Отправлено: 06.04.2005, 16:18


Не зарегистрирован







Лично я бы повозился с txt. Быстро, и не зависимо от сторонних компонентов. Хотя и dBase ничего (имею собственные решения для чтения записи — работают довольно быстро). 13 000 строк это еще не те бъемы при которых нужно думать о скорости, правда если это не слишком часто. Всетаки в основном все зависит от "поставщика" данных.
Хотите — приложите файл dbf я скажу за сколько я его загружу в базу.
** full_lamer
Отправлено: 06.04.2005, 16:40


Не зарегистрирован







2avc
я в принципе хочу сделать этот процесс на DTS в SQL Server, поставить там расписание и пусть себе ночью вымораживается... но проблема в том что dBase пока под вопросом — возмоно его и не будет, а в Excel данные страшно не структурированны и при выборке не выбираются 2 столбца (основных!)..., текстовый файл более или менее пригоден...
а так я просто еще с XML не работал, поэтому не знаю как там происходит процесс...
AVC
Отправлено: 06.04.2005, 16:51


Ветеран

Группа: Модератор
Сообщений: 1583



Только не Excel — та еще головная боль. smile.gif
Я для подобной цели написал свой собственный сохранятель и читатель dbf — программа получатель требовала именно dbf. Если не нужна поддержка индексов то dbf обменник пишется очень быстро. Правда txt еще быстрее.

Для вашего случая мне кажется xml излишен (на xml можете посмотреть в файлах *.bpk или html — это подмножество xml).
Все это верно пока речь идет о собственном парсере. Если вам захечтся прикрутить ADO или BDE или что то еще, умеющее работать с такими форматами, то проще поэкспериментировать.
** full_lamer
Отправлено: 06.04.2005, 16:55


Не зарегистрирован







2avc
большое спасибо!
я наверое остановлюсь на тексте, так как я сейчас узнал DBF не будет... а Excel головная боль... Вы правы...
Gedeon
Отправлено: 06.04.2005, 17:06


Ветеран

Группа: Модератор
Сообщений: 1742



Да, поддерживаю, для данных условий текст — лучшее решение.
AVC
Отправлено: 07.04.2005, 07:47


Ветеран

Группа: Модератор
Сообщений: 1583



2** full_lamer
Подумал уже когда шел домой smile.gif .
Недавно помогал в решении задачи закачки данных из Excel в БД. Реализовал вариант Excel сохраняет лист в txt, а я читаю txt и загружаю в таблицу. Вторая часть аналогична вашей проблеме. Могу поделится кодом, делаюшим это действо.
full_lamer
Отправлено: 07.04.2005, 08:05


Машинист паровоза

Группа: Участник
Сообщений: 225



QUOTE
Подумал уже когда шел домой

самые лучшие мысли приходят на пути домой... smile.gif
QUOTE
Реализовал вариант Excel сохраняет лист в txt

а как это реализовано? сама программа открывает файл excel и сохраняет его в текст?
QUOTE
Могу поделится кодом

буду очень признателен.
AVC
Отправлено: 07.04.2005, 09:08


Ветеран

Группа: Модератор
Сообщений: 1583



QUOTE

а как это реализовано? сама программа открывает файл excel и сохраняет его в текст?

Сама программа открывает файл в Excel и дает ему команду SaveAs. Затем читает результат.
Код подготовлю в течении часа — двух. Отвлекают. smile.gif
full_lamer
Отправлено: 07.04.2005, 09:55


Машинист паровоза

Группа: Участник
Сообщений: 225



мне право очень не ловко отвлекать Вас от Ваших дел — написание кода для меня, мне просто любопытно как Вы построите сей код... если Вас это не сильно напрягает, то я буду Вам очень признателен.
спасибо.

зы. прошу прощение, но что на счет моего "глупого вопроса" про доступ?
AVC
Отправлено: 07.04.2005, 10:24


Ветеран

Группа: Модератор
Сообщений: 1583



Отвлекаете ни в коем случае не вы, а это ... начальство. Все им чегото надо и, главное, срочно. biggrin.gif
Сейчас подготовлю проект.

QUOTE
зы. прошу прощение, но что на счет моего "глупого вопроса" про доступ?

Не "мой" сервер. Я не знаю. Пусть отвечают знатоки MSSql.
Gedeon
Отправлено: 07.04.2005, 11:06


Ветеран

Группа: Модератор
Сообщений: 1742



QUOTE (full_lamer @ 07/04/2005, 09:55)
зы. прошу прощение, но что на счет моего "глупого вопроса" про доступ?

А где этот вопрос?
olegenty
Отправлено: 07.04.2005, 11:09


Ветеран

Группа: Модератор
Сообщений: 2412



используй ADO в качестве компонетов доступа.
full_lamer
Отправлено: 07.04.2005, 11:28


Машинист паровоза

Группа: Участник
Сообщений: 225



вы меня не поняли, вот мой глупый вопрос:

http://www.cbuilder.ru/
AVC
Отправлено: 07.04.2005, 12:17


Ветеран

Группа: Модератор
Сообщений: 1583



Фу. Подготовил, и даже в черне отладил smile.gif . С exe могут возникнуть проблемы c открытием mdb (Access для мобильности примера) и национальными настройками. При компиляции в 6 у меня начались какие-то проблемы с Excel.
Компонент *FFS*"сырой" требует доработки (вторая проба). Будет что неясно — спрашивайте здесь, мылом, аськой.

User Attached Image Скачать файл
flame1.rar


AVC
Отправлено: 07.04.2005, 16:39


Ветеран

Группа: Модератор
Сообщений: 1583



Номер ICQ можно посотреть в профиле.
Кнопка ICQ под постом ведет себя несколько странно.

Вернуться в Работа с базами данных в C++Builder