WEB форумы на jedi
[Форум] [Помощь] [Поиск] [Выйти]
Добро пожаловать, [info]User

WEB форумы на jedi [ПОИСК] [Архив до 03.2006]

Тема dbExpress в Delphi 6 К предыдущему сообщению На следующее сообщение Программирование

Отправил LazyBear в 09:13 19.11.2002[Ответить]
Люди, кто-нибудь работал с dbExpress в Delphi 6?
Я почитал Help, там вроде как написано, что эти компоненты (SQLQuery, SQLClientDataSet и пр.) работают с данными на диске напрямую, без BDE и всего остального.
Может я, конечно, чего не так понял, но вроде как получается, что с использованием этих компонентов можно сделать софтинку, работающую с таблицами и не требующую предварительной установки на машину пользователя ни BDE, ни чего-нибудь другого вообще (т.е. никаких дополнительных dll).
Если кто работал с этими делами, поделитесь опытом, please.


Отправил SDK в 18:45 17.01.2003[Ответить]
dbExpress - это компонента Delphi для прямого доступа (минуя BDE) к корпоративным СУБД (Oracle, DB2 и т.д.) Для работы с локальными БД без БДЕ пока никак не обойтись.:(((


Отправил Patrol в 18:53 17.01.2003[Ответить]
Я немного не понимаю...
А что компанент ADO такого делать не может? Ведь может наверняка...
А БДЕ - дрянь...


Отправил CAHbKA в 19:33 17.01.2003[Ответить]
холиварствуешь? :)

а что dbf? Старый dbf просто текстовый файл, с точно определённой структурой.


Отправил Patrol в 14:25 18.01.2003[Ответить]
{холиварствуешь?}
Не знаю я такого слова умного! :)))

Но как текстовый файл читать точно неудобно - запросы делать никак... :) Опять же порекомендую ADO-компаненты. Быстро, просто и удобно. И не надо ничего на клиенствие машины дополнительного ставить, если там операционка 95ОСР или выше :) Там ADO уже встроено. И OLEDB-провайдер есть.


Отправил ABTOMAH в 08:35 20.01.2003[Ответить]
Eсли использовать ADO (и требуется сделать инсталляшку) то, по-моему, без mdac_typ.exe (7,49МБ) не обойтись.
Patrol>операционка 95ОСР или выше :) Там ADO уже встроено. И OLEDB-провайдер есть.
Но это теоретически. Бывает что нет (может версии WIN-в идут кастраты). Да и некоторые проги при деинсталляции удаляют, что не просят.
Чтобы инсталяшка получилась маленькой, по-моему, лучше использовать DAO (UseJet) - mdac не нужен (правда не знаю поддерживает ли dbf).


Отправил Patrol в 10:26 20.01.2003[Ответить]
Поддержка 95-й официально прекращена вообще-то ;)
Пора бы и перейти хотя бы на 98-й.. ;) Он еще год жить будет ;)
а мдак, действительно, ставить надо, если его нет.. Но это не значит, что его надо в инсталяшку включать. А то так придем к тому, что и винду приложить придется ;)


Отправил Лoвeлac в 16:12 20.01.2003[Ответить]
Patrol>Поддержка 95-й официально прекращена вообще-то ;)
Да, но у кого лицензия, сколько он её ещё продержит?
Patrol>Пора бы и перейти хотя бы на 98-й.. ;) Он еще год жить будет ;)
Но это не значит что у всех SE или SEx

Patrol>Но это не значит, что его надо в инсталяшку включать.
Если б это было так, то все уже давно бы перешли на ADO и не искали альтернативы.

Тут глянул DAO поддерживает: dBASE III; dBASE IV; dBASE 5.0; Access ; Excel 3.0-8.0; Lotus 2.0-3.0; FoxPro 2.0-3.0; Paradox 3.0-5.x; Text


Отправил LazyBear в 09:28 21.01.2003[Ответить]
Народ, можно я все-таки еще раз поинтересуюсь, а то как-то в сторону ушло обсуждение и ни одного развернутого ответа не было.
Зайду с другой стороны и поставлю конкретный (и очень для меня актуальный) вопрос:
Мне нужно написать на Delphi локальную (т.е. не сетевую, без использования различных серверов БД) софтинку, которая работала бы (подразумевается CREATE,SELECT,UPDATE,INSERT,DELETE) с таблицами все равно какого формата (dbf, db, ... - мне и клиенту параллельно абсолютно) с помощью SQL-запросов и команд. Что-либо устанавливать (типа BDE или InterBase) нельзя по условиям задания, т.е. программа должна работать сразу же после простого копирования на винт или прямо с CD. Предполагается, что работать с ней будут абсолютные чайники, у них даже может не быть админовских прав на машине, т.е. установить что-нибудь они не смогут по умолчанию.
Насколько я понимаю в программировании, тут не обойтись без движка для моих таблиц. Мне посоветовали использовать Apollo для доступа к dbf. Она, правда, тянет за собой какие-то dll-ки, но инсталлить на клиентской машине ничего не нужно, в реестре тоже кодовать не надо. Эти dll-ки нужно просто положить рядом с экзешником. Также был совет ходить к данным через локальный MySQL (не путать с MSSQL). Там такой же подход, с dll-ками.

Вопрос такой: посоветуйте, кто реально занимался такими делами, что мне использовать для работы с данными. Программа пишется на Delphi.


Отправил SL в 10:10 21.01.2003[Ответить]
Для BDE нужны эти файлы(для .db и .dbf хватает):
OTHER.BTL
CHARSET.CVB
BANTAM.DLL
BLW32.DLL
IDAPI32.DLL
IDBAT32.DLL
IDDBAS32.DLL
IDPDX32.DLL
IDR20009.DLL
IDSQL32.DLL
(~2.3 Mb)
Просто скопируй их в каталог программы, где лежит .exe, и ничего устанавливать не надо.


Отправил Patrol в 10:45 21.01.2003[Ответить]
Я реально занимался :)
И использовал ADO. Вообще никаких DLL не надо (ну да я писал).
А если у клиента винда 3.11 - то уж извините, его проблемы...


Отправил LazyBear в 11:47 21.01.2003[Ответить]
SL, огромное спасибо, проблема только в том, что схема эта почему-то не работает. Я только что сделал тестовый проектик с одним запросиком к Paradox-таблице (*.db), положил твои файлики - все равно ругается, говорит, типа ошибка при попытке инициализации BDE (error $210C). Может, каких-нибудь еще файликов не хватает.
Подскажи, плиз, если не сильно в лом, а то срочно сделать надо.


Отправил Zauberer в 12:19 21.01.2003[Ответить]
2 LazyBear: Бегом искать faq из ru.delphi.db, там подробно написано, какие файлы нужны для работы без установки BDE. Faq постится каждую неделю.


Отправил SL в 23:13 21.01.2003[Ответить]
Возможно ты используешь Alias'ы? Надо использовать полные пути к .db как TableName, в запросах - путь в кавычках (например, 'c:ase.db'), если .db лежат в каталоге программы - можно просто имена файлов, без полного пути.
(В Builder'е всё отлично работает)


Отправил LazyBear в 09:21 22.01.2003[Ответить]
Не, я без алиасов к данным хожу, просто указываю пути к таблицам.
Как выяснилось, проблема была в другом. Я ее вчера вечером все-таки решил. Просто из C:Program FilesCommon FilesBorland SharedBDE взял Other.btl, Charset.cvb и все dll-ки, которые были, без разбора, и сгрузил это все к своему exe-шнику. Завел программку - все пошло. Видимо, какой-то dll-ки не хватало до счастья. Сегодня буду разбираться, какой именно.

Так что, SL, огромное спасибо за идейку и подсказку. Ее бы год назад услышать, стольких бы заморочек избежал.