Дельфи. Как достучаться до Фоксовской таблицы?

Вопрос такой, ниразу не работал с ФоксПро, а сейчас нужно из нее
читать данные. Как в дельфи это наиболее просто реализовать. Какие
нужны компоненты?
← Октябрь 2005 → | ||||||
2
|
||||||
---|---|---|---|---|---|---|
11
|
16
|
|||||
23
|
||||||
25
|
29
|
|||||
За последние 60 дней ни разу не выходила
Сайт листа:
http://codeguru.ru
Открыт:
21-09-2003
Пре-модерация: Нет
Адрес для писем в лист: comp.soft.prog.prog-list@subscribe.ru
Адрес
модератора: comp.soft.prog.prog-owner@subscribe.ru
Вопрос такой, ниразу не работал с ФоксПро, а сейчас нужно из нее
читать данные. Как в дельфи это наиболее просто реализовать. Какие
нужны компоненты?
С этим все ясно, как говорится Ежу понятно.
Это я так понимаю нужно алиасик сделать и в поставке драйверочек идет?
Или нужно установить специяльный какой-то фоксовский?
Так, тут нужно будет уточнять. Спасибо.
А с АДО я работал. Какая специфика в отличие от БДЕ, применительно к
фоксу?
Под STANDARD в BDE понимается стандартный драйвер, который умеет
работать с dBase/FoxPro, Paradox и plain text aka ASCIIDRV. Кроме STANDARD
есть ещё MSACCESS, MSSQL, ORACLE, SQL Server, SYBASE, INTRBASE, INFORMIX,
DB2 плюс все имеющиеся в системе ODBC драйверы. Ничего дополнительно ставить
не надо. Я просто указал нужные настройки.
Ну, тогда проще. Принципиальной разницы между ними нет. У меня часто и
BDE, и ADO перемешаны в программах. У ADO как правило мощнее SQL, но вообще
говоря это зависит от провайдера, он часто быстрее, особенно на больших
курсорах и сложных запросах. Но как ни странно, на SELECTах с агрегатными
фунциями и группировкой BDE по скорости частенько рулит. И не мало - разы.
Впрочем не исключено, что на результаты влияют некие факторы, которые мне
неизвестны, так что если есть кому что сказать в опровержение, милости
прошу. Кроме того BDEёвый Table в файл-серверной архитектуре приложения, но
на сетевых базах рулит однозначно, ибо лазает прямо по таблице вместо того,
чтобы бомбить провайдера запросами. Сетевой трафик практически без оверхеда.
ADOTable в этом смысле всего лишь эмулятор Table - всё равно через SQL
работает. Но нужно учитывать, что BDEёвый драйвер .DBFных файлов не
поддерживает FOXовые фичи. Например, если в тэгах индексов встретится что-то
вроде UPPER(field1)+STR(field2, 5, 0), упадёт однозначно. В клиент-серверных
приложениях, где всё равно всё через SQL делается, BDE никаких преимуществ
не имеет. Но комплект возможностей практически то же.
Через ADO поверх ODBC я с FOXовыми базами не пробовал. Качал с
Microsoft-а OLE DB провайдер VisualFoxPro, и ADO пускал непосредственно
через него. У него большинство VFPешных фич реализованы, включая SELECT INTO
TABLE и тэги в индексах по более сложным выражениям, чем простая
конкатенация полей - по меньшей мере все стандартные FOXовые функции
поддерживаются.. Правда и указанные выше сравнения в скорости приведены как
раз для него. Так что "твори, выдумывай, пробуй" (C)
--
С уважением, boroda
Номер выпуска : 4981
Возраст листа : 753 (дней)
Количество подписчиков : 528
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/454679
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
Access-овые драйверы есть - знаю. А вот про Оракл - интересно, будет
работать без установленного клиента? Это так, отступление.
Специфика программы работать и с Ораклей и с Фоксой, и туда и туда
выдавать результаты. Бардак одним словом.
Т.е. стандартные в поставке драйвера могут не подойти для АДО? Или это
касается только специфики VisualFoxPro?
Не, просто этот драйвер усиленно рекламировался моими коллегами по
работе. Поэтому я не пытался пользоваться стандартной связкой
"ADO"->"Microsoft OLE DB for ODBC Drivers"->"Файлы dBase", а сразу его и
юзал. Он после инсталляции в источниках появляется как "Microsoft OLE DB for
Visual FoxPro", то есть отчётливо видно, что у него отсутствует
промежуточный слой ODBC (впрочем, не факт, но проверать лень). Кроме того, я
уже упоминал о его преимуществах перед стандартной связкой в плане
предоставляемых возможностей. Фактически, это полный VFP, но лишённый
пользовательского интерфейса. Интерфейс только программный :) По крайней
мере, это следует из утверждений из readme к нему.
ИМХО без него вполне можно, но с ним лучше.
--
С уважением, boroda
Номер выпуска : 4987
Возраст листа : 754 (дней)
Количество подписчиков : 528
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/455194
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
А можно его по почте выслать, а то у меня инета нету (каламбур),
только почта? если конечно это не затруднительно в плане финансов...
О, коллега! Сам такой. -)))) Инет правда есть, но по dial-up-у, и
оплачивается ~1,5 часа в день. Угадай с трёх раз, сколько из них шеф тратит,
и сколько остаётся мне по форумам полазить. А вот почта unlimited и
free-of-charge. По крайней мере для нас. Как оно у головного предприятия (мы
его филиал) я не в курсе.
Так что не затруднительно. И даже в плане финансов. Тока вот из-за
ограничения на размер исходящего письма в 1 Мбайт придётся резать. WinRARом
подойдёт? Неупаковый размер оригинала 2627544
Номер выпуска : 4992
Возраст листа : 754 (дней)
Количество подписчиков : 528
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/455271
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
Не будет. По крайней мере для Oracle 7, 8, 9 и 10.
И вряд ли это изменится.
Номер выпуска : 4989
Возраст листа : 754 (дней)
Количество подписчиков : 528
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/455216
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
Ясно, тогда может ответишь на тему "Установка клиента Oracle" ?
Шистеров Павел пишет:
Самая стандартная связка - TTable + TQuery + TDataSet + средство
отображения данных. Это если данные нужны только на той машине, где
установлена Дельфя. Если же нет, то процедура усложняется (и
умедленяется) за счет использования TADOTable + TADOQuery + TDataSet +
средство отображения данных
Номер выпуска : 4983
Возраст листа : 753 (дней)
Количество подписчиков : 528
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/454892
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
Шистеров Павел пишет:
Вообще-то есть компоненты работающие с оными таблицами без всяких BDE и
иже с ними, просто напрямую.
Есть. Но ни один из них не идёт дальше поддержки стандартных
возможностей. По крайней мере мне они не всречались.
--
С уважением, boroda
Номер выпуска : 5002
Возраст листа : 757 (дней)
Количество подписчиков : 529
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/457664
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
Если очень коротко, то Query, Table, DataSource, DBGrid. Также DataBase
и возможно Session. DriverName STANDARD, default driver FOXPRO или DBase.
CodePage или DBase RUS 866, или "ascii" ANSI, смотря какая кодировка у
базы - DOSовая или WINдовая.
Это всё называется BDE. ADO вообще-то предпочтительнее, но чтобы начать,
BDE проще. Ну и поищи литературу. Самому разбираться, что с этими
компонентами делать, да и вообще с технологиями баз данных, можно, но долго
и муторно.
--
С уважением, boroda
Номер выпуска : 4979
Возраст листа : 753 (дней)
Количество подписчиков : 528
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/454458
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru