Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.30;
Скачать: CL | DM;

Вниз

Cнова о DBF без BDE   Найти похожие ветки 

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

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


 
stone ©   (2003-05-30 11:25) [1]

Не самый удачный вариант, но можно положить в корень с екзешником десять БДЕшных файлов:
BANTAM.DLL
CHARSET.CVB
IDAPI32.DLL
IDBAT32.DLL
IDDBAS32.DLL
IDODBC32.DLL
idpdx32.dll
IDR20009.DLL
IDSQL32.DLL
OTHER.BTL

Если их сжать в архив, то получиться 1,13 MB


 
sniknik ©   (2003-05-30 11:29) [2]

очень много компонент поддерживающих dbf, странно что не нашол. в свое время у меня была коллекция из примерно 30шт, наверняка не полная, остановился на Halsyon
http://www.vodonosov.newmail.ru/develop/develop.htm
причины две, исходники и поддержка клипера (приходится работать с его файлами)
попробуй может и тебе понравится. ничего кроме твоей программы не потребуется.


 
Anatoly Podgoretsky ©   (2003-05-30 11:44) [3]

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

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

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


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


> 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 18:56) [5]

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


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

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.


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

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


 
Sergant ©   (2003-06-02 10:16) [8]

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

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


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

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


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

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

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


 
dm37   (2003-06-03 06:08) [11]

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


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

Я таскал бдешные файлы(не все конечно), а в программе
писал :
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;


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


 
Anatoly Podgoretsky ©   (2003-06-03 08:01) [13]

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


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

Привет всем!

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

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

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

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

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

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

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

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

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


 
Anatoly Podgoretsky ©   (2003-06-03 10:25) [15]

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


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

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


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

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


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

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


 
Zacho ©   (2003-06-03 16:24) [19]


> KPP (03.06.03 14:47)

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


 
sniknik ©   (2003-06-03 17:25) [20]

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

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


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

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

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

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2003.06.30;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.012 c
3-97540
Def
2003-06-05 17:22
2003.06.30
BDE установка алиаса


3-97502
Akademik
2003-06-05 12:51
2003.06.30
Нет каскадного удаления в таблицах Paradox


1-97628
alt7
2003-06-19 16:40
2003.06.30
опережающие процедуры


7-97905
ИгорьШШШ
2003-04-22 08:44
2003.06.30
Список всех пользователей


11-97564
Alexei Dragoner
2002-07-25 17:16
2003.06.30
А можно создавать/убирать statusbar налету?