Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Cнова о DBF без BDE [D5, dBase, FoxPro]


Страницы:   1 2

Зозуля Юрий ©   (2003-05-30 11:19:00) 

Этот вопрос обсуждался не раз но просматривая архивы форума я так и не нашел для себя оптимального решения
Итак, задание: Программа должна работать з DBF и легко устанавливатся на любой комп. Желательно втиснуть дистрибутив на одну дискету.
Возможные пути решения.
1. BDE - полная инсталяция не подходит, частичная - только файлы для dbf в каталоге программы - возможна, но будут глюки если BDE уже установлена. Читал про компонент BDE32 который вроде может решить проблему, но на Торри я нашел только dcu для для D3 а указанный там сайт выдает 404.
2. ADO - я не смог запустить программу под win95+office97. Пишет, что нужны компоненты версии 2.1. Если для этого надо инсталировать несколько мегабайт то этот вариант не подходит.
3. Компоненты прямого доступа. Начал скачивать tdataset.exe - 10 МБ. У меня не настолько быстрый и дешевый инет, чтобы скачивать такой обьем только для того чтобы посмотреть. Да и сколько тогда будет весить инсталяция? Другие компоненты не смотрел по причине наличия отрицательных отзывов или платной регистрации.
Какие еще могут быть вырианты?


интересующийся   (2003-06-05 08:05:00) [1]

2Vorobyev Sergey
а если BDE другой версии уже стоит на компе юзера?


Зозуля Юрий   (2003-06-05 00:12:00) [2]

Спасибо всем.
Для моей задачи пока наиболее подходит Halcyon:
- наименьший размер (0.7 М вся программа в архиве)
- есть все необходимые функции (SQL не обязателен).
- большой скорости не требуется (общий размер таблиц < 500 кб)

ADS, конечно, покруче но и побольше.

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


sniknik   (2003-06-03 17:25:00) [3]

WHERE ColumnA LIKE "%5/%%" ESCAPE "/"
следующий за / символ будет восприниматся как символ, для указания 5% в строке.
(несерьезно)
то же самое можно получить
WHERE ColumnA LIKE "%5[%]%" (скорее всего так, вобще пример из MSSQL, в АДС может не быть такой замены)

а вот глюк с конвертацией, помоему посерьезнее будет. (если это глюк а не "фича" описанная в документации :о))


Zacho   (2003-06-03 16:24:00) [4]


> KPP (03.06.03 14:47)

А что такое "ESCAPE в СКЛ " ? Любопытно, первый раз слышу.


KPP   (2003-06-03 14:51:00) [5]

да, еще, на счет инсталляхи\переносимости АДС:для локального нужно только два файла общим размером 1.6 Мб(в несжатом виде)


KPP   (2003-06-03 14:47:00) [6]

В Advantage Database Server как минимум две проблеммы, с которыми я столкнулся:
- нет аналога ESCAPE в СКЛ (обещали только в релизе 7.1)
- глюк при конвертиции значения целого поля 0 в строку - выдает NUL
хотя в остальном вродебы нормально


Andrey V.   (2003-06-03 12:57:00) [7]

Вообще это я не сам придумал , вычитал где-то , толи в инете то-ли в фидо.
Конечно хочется чтоб программа была самодостаточная и ни от чего не зависела. Особенно если планируется ее отдать на дискете (или CD) и неизвестно что за комп и что за человек "на том конце". Вот и начинаешь искать компоненты. И если к тем же дбф
куча компонент, то с заменой TQuery - не очень , а те что есть , или медленные или не умеют элементарных вещей.


Anatoly Podgoretsky   (2003-06-03 10:25:00) [8]

Все именно так, а вот последнее предложение Andrey V. (03.06.03 06:31) вообще ни в какие ворота не лезет, не только проблемы от наличия разных версий длл в системе, но и прямая порча инсталляции путем прописывания в реестре путей на свои, это уже граничит с прямой диверсией.


Vorobyev Sergey   (2003-06-03 08:23:00) [9]

Привет всем!

Все нижесказанное личное мнение..

Честно говоря я тоже когда-то пытался создать прогу с поддержкой DBF без BDE, использовал другие компоненты, потом бросил и снова вернулся к BDE..
А чем собственно он мешает ?
1.
> Сам БДЕ не большого объема ... а движок очень отлажен, по сравнению с другими.

действительно так
2. BDE уже может быть установлен, многие программы его используют..

> Желательно втиснуть дистрибутив на одну дискету.

Так пусть основной дистрибутив будет на одной дискете, а БДЕ на одной/двух других. При установке проверяется наличие BDE и возможно другие дискеты не понадобятся. При переустановке твоей программы тем более..

3. Алиасы ? Работать с BDE можно без алиасов (так даже удобнее)
4. Языки, кодировки, параметры БД ? Всем этим можно управлять программно..
5.
> Программа должна ... легко устанавливаться
> на любой комп

А BDE устанавливается легко, есть множество описаний, как самому создать инсалляцию DBF.
6.
> Количество таких компонент давно измеряется сотнями, 30
> это только более известные

Где гарантия, что используя их не будет неприятностей, а BDE уже весь облазили..

И все-таки частями ставить BDE не рекомендую, будут проблемы..


Anatoly Podgoretsky   (2003-06-03 08:01:00) [10]

Тем, что ты с очень высокой вероятностью, ну очень высокой, испортишь пользователю его инсталляцию БДЕ


Andrey V.   (2003-06-03 06:31:00) [11]

Я таскал бдешные файлы(не все конечно), а в программе
писал :
R:= TRegistry.Create;
try
with R do begin
RootKey:= HKEY_LOCAL_MACHINE;
OpenKey("\SOFTWARE\BORLAND\BLW32", True);
WriteString("BLAPIPATH",ExtractFilePath(Application.ExeName));
WriteString("LOCALE_LIBz1",ExtractFilePath(Application.ExeName)+"USA.BLL");
WriteString("LOCALE_LIBz2",ExtractFilePath(Application.ExeName)+"CEEUROPE.BLL");
WriteString("LOCALE_LIBz3",ExtractFilePath(Application.ExeName)+"OTHER.BLL");
CloseKey;
OpenKey("\SOFTWARE\BORLAND\Database Engine\Settings\System\INIT", True);
WriteString("LOCAL SHARE","TRUE");
end;
finally
R.Free;
end;


Чем череват такой подход ?


dm37   (2003-06-03 06:08:00) [12]

С компонентом BDE32 (клал в кладовку, не найдешь пиши) проблем не было, опробовал несколько компонентов для работы с dbf остановился именно на BDE32. Самая высокая скорость работы с dbf при использовании Query. Не требует установки, хотя работает с реестром и если рабочая станция имеет права "Пользователя" в Win2000, то работать не будет, пришлось ставить BDE отдельно.


Slava   (2003-06-02 13:25:00) [13]

Advantage Database Server
http://www.advantagedatabase.com
Действительно неплох. Хотя локальный SQL мягко говоря, тормознутый, но работает стабильно.

Компоненты для локального (и сетевого файлсерверного доступа) - бесплатны. В придачу получаешь еще один формат данных, похожий на парадокс.


Rodger   (2003-06-02 12:11:00) [14]

Попробуй ADS - любые DBF (Foxpro, Clipper) - OEM кодировка - есть свои нюансы, но работает стабильно... Пользуюсь 2 год... Доволен.


Sergant   (2003-06-02 10:16:00) [15]

>autootvetchik
Apollo действительно хорош. Насчет платности - www.tdelphi.spb.ru

Еще можно посоветовать Advantage Database Server


autootvetchik   (2003-06-02 09:25:00) [16]

Halcyon неплох, но для работы с SQL потребуется еще, например, TXQuery. Тестирование, однако показало раза в 2..4 медленную работу по сравнению с BDE (в Halcyon все сделано на тормозном Pascal`е). Но работать с FoxPro в BDE рискованно.
Все хвалят Ap[p]ol[l]o, но он точно платный!


Зозуля Юрий   (2003-06-02 08:56:00) [17]

Halsyon посмотрел, функциональность меня устраивает
но уже есть маленькие глючки, а если будут большие?


> Anatoly Podgoretsky © (30.05.03 18:56)
не важно установлен у него БДЕ или будет установлен позже.

а если написать так:
program DBF1
...
begin
if BDE_установлено and Есть_ddl_в_корне_с_exe
then Прячем_ddl;
if (not BDE_установлено) and Нет_ddl_в_корне_с_exe
then Восстанавливаем_спрятанные_ddl;

end.


Anatoly Podgoretsky   (2003-05-30 18:56:00) [18]

Если выберишь по stone то готовься к неприятностям, возможно даже будут бить. Этим ты наносишь серьезный вред пользователю, при том не важно установлен у него БДЕ или будет установлен позже.


Зозуля Юрий   (2003-05-30 18:45:00) [19]


> stone © (30.05.03 11:25)

Насколько велика вероятность глюков если БДЕ уже будет установлено?


> sniknik © (30.05.03 11:29)

Halsyon не смотрел т.к. где-то прочитал, что он платный. Посмотрю дома ночью.


> Anatoly Podgoretsky © (30.05.03 11:44)

Задача более конкретно : чтение/запись формата DBASE IV, сортировка (индексами или SQL), связи master-detail, lookup-поля.
Поддержка специфичных индексов и сети не требуется.
Если я выберу BDE то только по stone © (30.05.03 11:25) - мне кажется что кол-во файлов можно еще уменьшить.


Anatoly Podgoretsky   (2003-05-30 11:44:00) [20]

Количество таких компонент давно измеряется сотнями, 30 это только более известные.
Хоть он и не нравится мно, но можно посоветовать также tDbf (количество глюков котоые устраняют в каждой новой версии просто впечатляет, еще больше впечатляет документация), но работать можно.

И еще понятие dbf мало о чем говорит, надо говорить об конкретных форматах, о работе в сети, использования SQL, о возможных кодировках таблиц и связанных с этим проблемам, также не мало важно проблемы с индексами и прочее, но первое все таки о каком формате идет речь.

Сам БДЕ не большого объема, добавляетя порядка 3-3,5 мб к дистрибутиву, а движок очень отлажен, по сравнению с другими.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо