Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.06.30;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.008 c
7-97897
max2057
2003-04-14 17:41
2003.06.30
инструкция 0х0000000 обратилась по адресу 0х0000000


1-97633
alt7
2003-06-19 13:17
2003.06.30
try except finally


7-97900
Любомиров
2003-04-21 22:38
2003.06.30
Питающая сеть - характеристики


14-97781
Дмитрий К.К.
2003-06-11 06:22
2003.06.30
Именинники 10 июня


11-97566
Gandalf
2002-10-22 19:07
2003.06.30
WinCE+KOL мечта или релальность.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский