Форум: "Базы";
Текущий архив: 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