Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 1 740

/ вопрос решён /

Здравствуйте, уважаемые эксперты!

Есть программа биллинга (учёта электроэнергии абонентов (жиителей) города) написанная на FoxPro 9. Количество записей в базе чуть больше 100 000.

Регулярно происходит перерасчёт, кот. занимает около 4 часов. Суть перерасчёта пока неизвестна мне точно.

Я вот думаю, насколько реально переписать СУБД на Delphi, чтобы использовать эти базы фоксовские?

Не упадёт ли скорость обработки информации при прочих равных?

И подскажите, верно ли утверждение (авторов этой программы), что такой вариант (когда всё на фоксе написано) работает гораздо быстрее, чем любой вариант, который можно написать на Delphi?

Лицензию на MS SQL начальство не выделит скорее всего.

Anton (w) Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: Anton (w) (статус: Посетитель)
Вопрос отправлен: 1 июля 2008, 10:52
Состояние вопроса: решён, ответов: 3.

Ответ #1. Отвечает эксперт: Мережников Андрей

Здравствуйте, iamantbk!
Переписать вполне реально. Для подключения к фоксовским базам можно использовать ADO. Только драйвер ODBC надо поискать для Fox. Из Вашего вопроса не совсем ясно какая у вас программа - сетевая или локальная. Скорость работы зависит от структуры БД. Вы хотите полностью переписать программу вместе с БД (раз упоминаете MS SQL)? Если да, то можно использовать бесплатные SQL серверы (Firebird, PostgreSQL, MySQL). Если задача реализуется на локальной машине, то использование SQL сервера не даст никакого выигрыша по скорости. То, что у Вас так долго выполняется перерасчет для такого количества записей говорит о том, что надо перерабатывать алгоритм обработки и неважно на каком языке это делать. Моя первая программа на Fox формировала отчет 8 часов (правда машина была 286), после изменения алгоритма - 4 минуты.

Ответ отправил: Мережников Андрей (статус: Абитуриент)
Время отправки: 1 июля 2008, 11:35
Оценка за ответ: 5

Ответ #2. Отвечает эксперт: Шичко Игорь

Здравствуйте, iamantbk!
Допустим СУБД на Delphi писать нет смысла (это немного некорректное выражение).
Но вот допустим управлять СУБД FoxPro из-под Delphi в принципе реально.
Зависит от структуры данных в таблице, вида необходимых расчетов.
Технология ADO доступа к базам данных позволяет получить неплохие результаты.
Более точно ответить и что-то посоветовать можно если знать примерно структуру данных и суть перерасчета.

Ответ отправил: Шичко Игорь (статус: 9-ый класс)
Время отправки: 1 июля 2008, 11:38
Оценка за ответ: 5

Ответ #3. Отвечает эксперт: ANBsoft

Здравствуйте, iamantbk!
Попробуйте переписать все на Делфи под FireBird (все компоненты для работы с ним есть в самой Делфи).
Утверждение авторов программы в корне неверно, особенно если база данных сетевая, любой нормально реализованный вариант на клиент-серверной базе данных будет работать гораздо быстрее чем гонять в FoxPro гигабайтные таблицы по сети (сравнится может терминальный режим работы, но Ваше начальство наверное не даст денег на Windows Server :) ).
Из своего опыта скажу, что еще 10 лет назад FoxPro уже проигрывал тогдашнему InterBase+Delphi в скорости работы и скорости разработки приложений.
Так что дерзайте, дорогу осилит идущий.
P.S. А разработчики и не могли сказать другого, им не нужны конкуренты :).

Ответ отправил: ANBsoft (статус: Студент)
Время отправки: 1 июля 2008, 12:00
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 1; последнее сообщение — 5 июля 2008, 06:12; участников в обсуждении: 1.
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 5 июля 2008, 06:12 [#1]:

Можете начать разработку используя бесплатную версию MS SQL 2005 Express Edition. Скачать можно по ссылке:
http://www.microsoft.com/sql/editions/express/default.mspx

31 января 2011, 19:23: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5)

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:27
Выполнено за 0.02 сек.