![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Trash_s |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 15.7.2002 Репутация: нет Всего: нет |
Подскажите, где можно найти компоненты для C++ Builder 5 для работы с DBF-файлами, не использующие BDE.
|
|||
|
||||
| Alex101 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 891 Регистрация: 8.4.2002 Где: Москва Репутация: нет Всего: 10 |
ADO, например, не использует BDE
-------------------- С уважением, А. Фролов. |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
Бесплатные компоненты для dbf можно скачать с Advantage Database Server
Они поддерживают практически все возможные индексов(idx, ntx. cdx). Для скачивания надо заполнить регистрационную форму. -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| Trash_s |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 15.7.2002 Репутация: нет Всего: нет |
Уточню, компоненты для доступа без BDE и без ADO, для непосредственного доступа.
Извини, Вячеслав, но на Advantage Database Server ничего подходящего не нашел. Там есть TDataSet, но это не то или я не понял, по своей недалекости. Кстати, твой компонент по диалапу пока не использовал |
|||
|
||||
| Vit |
|
|||
![]() 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 |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 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. -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| Trash_s |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 15.7.2002 Репутация: нет Всего: нет |
Vyacheslav, спасибо за полезный экскурс в теорию. Но, на мой взгляд, использовать Advantage Database Engine как альтернативу BDE не необходимости. Наверно с ADE удобней работать, но зачем лишние "примочки". В данном случае самый удобный вариант это exe + dbf, в других случаях может быть по другому. Но замена BDE на ADE весьма сомнительна.
С уважением, Trash_s. |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 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 году за него, как за лучший движок для БД.
-------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| Vyacheslav |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
Почему не любят BDE - он устаревший (если не ошибаюсь основные принципы заложены в 1994 году, универсальный ( за универсальность надо платить), сложности при распространенни программ (простое копирование не работает, нужно писать инсталятор), тяжеловестность (не каждый программист тебе скажет сколько и какие файлы нужно переносить), необходимость мало мальского администрирования. Сам Borland отказывается от дальнейшей разработки BDE и предлагает альтернативный движок(опять Database Engine
Мне кажется тебя пугает терминология. Если так исходить, но в виндах даже такую систему как exe + file.txt невозможно (вернее очень трудно) построить. Все равно будешь вынужден обращаться не непосредственно к записи на диске, а опосредованно через API файловой системы. Просто эта прослойка не видна, т.к. встроена в операционку. Прослойки для работы c dbf в OS нет. Так что вопрос стоит в том , насколько будет тяжеловесна используемая прослойка между exe и dbf. Если требуется дополнительно скопировать два - три файла(Advantage,Apollo и т.д), это карман не утянет. Если для этого нужно инсталировать целую систему - это уже другой вопрос. -------------------- С уважением, Вячеслав Ермолаев |
||||
|
|||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |