Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Компонент для C++ Builder 5, работа с DBF без BDE 
:(
    Опции темы
Trash_s
  Дата 13.8.2002, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 15.7.2002

Репутация: нет
Всего: нет



Подскажите, где можно найти компоненты для C++ Builder 5 для работы с DBF-файлами, не использующие BDE.
PM MAIL   Вверх
Alex101
Дата 13.8.2002, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 891
Регистрация: 8.4.2002
Где: Москва

Репутация: нет
Всего: 10



ADO, например, не использует BDE


--------------------
С уважением, А. Фролов.
PM MAIL ICQ   Вверх
Vyacheslav
Дата 14.8.2002, 01:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 9
Всего: 59



Бесплатные  компоненты для dbf можно скачать с  Advantage Database Server
Они поддерживают практически все возможные индексов(idx, ntx. cdx).
Для скачивания надо заполнить регистрационную форму.


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Trash_s
Дата 14.8.2002, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 15.7.2002

Репутация: нет
Всего: нет



Уточню, компоненты для доступа без BDE и без ADO, для непосредственного доступа.

Извини, Вячеслав, но на Advantage Database Server ничего подходящего не нашел. Там есть TDataSet, но это не то или я не понял, по своей недалекости.
Кстати, твой компонент по диалапу пока не использовал :( , после исользования пришлю отзывы.
PM MAIL   Вверх
Vit
Дата 14.8.2002, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: нет
Всего: 207



Посмотри на www.torry.net
По крайней мере для Дельфи я видел несколько таких компонентов.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Vyacheslav
Дата 14.8.2002, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 9
Всего: 59



Давай сначала разберемся с терминологией. BDE - это Borland Database Engine.
- 32разрядный движок для доступа к базам данных. При желании с ним можно работать и напрямую через его API, но так сейчас никто не работает. Обычно работают через компоненты TTable, TQuery. Необходимым условием  работоспособности является установка  BDE на компе. TDataSet - это базовый класс VCL для доступа к базам данных  и никакого отношения  к BDE не имеет. Например TADODataSet тоже является производным от TDataSet, но c BDE не работает.  Поэтому я не понимаю, почему ты так испугался, увидев там упоминание TDataSet. Теперь что предлагает Advantage : это native доступ к таблицам. Ни  BDE ни ADO не используются. Для нормальной работы программы  на другом компьютере нужно перенести еще два  dll - файла. Вместо BDE используется Advantage Database Engine, в который входит ALS(Advantage Local Server, вместо него также может использоваться ARS -Advantage Remote Server или AIS - Advantage Internet Server - но это уже за отдельную плату)  и  ACE (Advantage Client Engine). C ACE можно работать в принципе напрямую через API, но удобнее работать через компоненты. В том интсталяторе, названном  таким пугающим названием TDataSet,  Advantage предоставляет целый набор компонентов: TAdsTable, TAdsQuery, TAdsConnection,  TAdsSettings, TAdsStoredProc, TAdsDictinary. Кажется ничего не забыл. Естественно TAdsTable и TAdsQuery - порождены в конечном счете от TDataSet. На  мой вгляд это как раз то что ты ищешь. Кроме того  желательно скачать также ARC32 - эта программа выполняет примерно ту же роль что Enterprise Manager для MS SQL.




--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Trash_s
Дата 15.8.2002, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 15.7.2002

Репутация: нет
Всего: нет



Vyacheslav, спасибо за полезный экскурс в теорию. Но, на мой взгляд, использовать Advantage Database Engine как альтернативу BDE не необходимости. Наверно с ADE удобней работать, но зачем лишние "примочки". В данном случае самый удобный вариант это exe + dbf, в других случаях может быть по другому. Но замена BDE на ADE весьма сомнительна.

С уважением, Trash_s.
PM MAIL   Вверх
Vyacheslav
Дата 15.8.2002, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 9
Всего: 59



Под Database Engine понимается некий промежуточный уровень, состоящий из набора функций, которые обычно оформлены  в виде одной или нескольких динамических библиотек. Они то и работают напрямую (возможно даже через файловую систему, если таблицы локальные) с БД. Так что любая уважающая фирма или программист при создании средств доступа прежде всего попытается создать такой набор функций (свой Database Engine), а уж затем вызовы этих функций обернет в компонент или класс. Так что  если  ты найдешь компоненты от других фирм, то там наверняка будет свой некий   Database Engine.  Так например в для работы с Apollo (еще один довольно известный набор компонентов для работы с dbf) также  на компьютер нужно скачать дполнительные dll(кол-во не помню). Я его не называл, т.к не знал, откуда его можно скачать и к тому же он платный. Есть еще Hallcon(надеюсь название написал правильно: с ним мне даже работать не приходилось). Так что наличие Database Engine(даже если это называется по другому) в виде очень ограниченного числа dll(или bpl), которые нужно переносить на компьютер вместе с программой - это обычное дело. Если таких не окажется, то это сигнал к тому, что предмет программирования недостаточно был проработан, а следовательно возможны всякие глюки.  С другой стороный использование зарекомендованных и поддерживаемых производителем профессиональных средств доступа к БД - это верный путь к успеху. Я сам довольно много работал с dbf форматом, используя в основном Apollo и Advantage в конце концов сделал выбор еще 1999 году  в пользу Advantage(кстати тогда не только удаленный сервер, но и эти компоненты были платными и стоили более 300$) Позднее был приятно удивлен, что мой выбор подтвердили и другие разработчики  Delphi(C++Builder), проголосовав дважды  в 2001  и 2002 году за него, как за лучший движок для БД.




--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Vyacheslav
Дата 15.8.2002, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 9
Всего: 59



Цитата(Trash_s @ 15.8.2002, 11:26)
Но, на мой взгляд, использовать Advantage Database Engine как альтернативу BDE не необходимости. Наверно с ADE удобней работать, но зачем лишние "примочки".
...
Но замена BDE на ADE весьма сомнительна.

Почему не любят BDE - он устаревший (если не ошибаюсь основные принципы заложены в 1994 году, универсальный ( за универсальность надо платить), сложности при распространенни программ (простое копирование не работает, нужно писать  инсталятор), тяжеловестность (не каждый программист тебе скажет сколько и какие файлы нужно переносить), необходимость мало мальского администрирования. Сам Borland отказывается от дальнейшей разработки BDE и предлагает альтернативный движок(опять  Database Engine :) ) dbExpress(Delphi 6, Delphi 7, C++Builder 6).  Применительно к dbf - BDE не работает с распространненными индексами (ntx, cdx). Просматривать таблицы с такими индексами можно, но не дай бог что нибудь поменять или  вставить новую запись. Так что твой отказ от BDE обоснован. Почему Advantage? Он является специализированным движком для работы  c dbf (кроме того поддерживает более прогрессивный формат adt) и кроме того обладает дополнительными необходимыми дополнительными функциями предназначенные имеено для dbf: возможность работы с составными индексами(создание, поиск, реиндексаци), физическое удаление удаленных строк, поддержка фильтров  в стиле аля-Clipper и т.д  Это не "примочки", а необходимый инструмент. Кстати удобных "примочек" там тоже хватает.  
Цитата

В данном случае самый удобный вариант это exe + dbf, в других случаях может быть по другому.

Мне кажется  тебя пугает терминология. Если так исходить, но в виндах даже
такую систему  как exe + file.txt невозможно (вернее очень трудно) построить. Все равно  будешь вынужден обращаться не непосредственно к записи на диске, а опосредованно через API файловой системы. Просто эта прослойка не видна, т.к. встроена в операционку. Прослойки для работы c dbf в OS нет. Так что вопрос стоит в том , насколько будет тяжеловесна используемая прослойка между exe и dbf. Если требуется дополнительно скопировать  два - три файла(Advantage,Apollo и т.д), это карман не утянет. Если для этого нужно инсталировать целую систему - это уже другой вопрос.


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0621 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.