| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Foxpro/Clipper/Dbase > Delphi 7 и FoxPro 8 |
| Автор: BDmV 30.5.2005, 11:53 |
| Существуют ли компоненты Delphi для работы с FoxPro 8? И как вообще получить доступ к данным Fox'а? (кроме как из самого Fox'а или Fox'овой проги) ЗЫ. BDE и ODBC на эти таблицы матерятся, а Fox без проблем проглатывает |
| Автор: Cashey 15.6.2005, 22:06 |
| Выставь настройки BDE, работает без проблем. Только там еще и настройки компонента TTable и TGrid надо выставить соответсвующие. для более подробного ответа опиши проблему подробней, как именоо ругается |
| Автор: BDmV 21.6.2005, 11:54 |
| 1. Если я пытаюсь открыть таблицу через BDE (т.е. компонентом Query) то выдаётся сообщение "Corrupt table/Index header" 2. При открытии через MSAccess используя стандартный ODBCшный драйвер (их там штуки 4) появляется "ODBC - ошибка вызова [Microsoft][Диспетчер драйверов ODBC] Драйвер не поддерживает данной функции (#0)" 3. При доступе через компонент ADOConnection, если конектится к .dbc (Provider=VFPOLEDB.1;Data Source=D:\bud_2.5\dbc2005\budget.dbc;Password="";Collating Sequence=MACHINE) то появляется "Test connection failed because of an error in initializing provider. Internal consistency error", а если к .dbf (Provider=VFPOLEDB.1;Data Source=D:\bud_2.5\dbc2005;Password="";Collating Sequence=MACHINE) то "Feature is not available" |
| Автор: mspuz 30.6.2005, 14:50 |
| BDmV 1. У тебя к таблице присоединен индексный файл. Убей его открой таблицу в фоксе и ответь "Игнор" на вопрос о исчезновении индекса. Все готово. В остальных случаях - кодировка твоей таблицы виндосовская(1251), если ты откроешь таблицу в фоксе и напишеш - copy to 'название новой таблицы' fox2x as 866, то получишь новую таблицу с досовской кодировкой(866), которую с удовольствием понимает и ODBC и ADO. А вообще, чтобы не париться с кодировками есть компонент tdbf (не стандартный, его придется поискать), так ему плевать вообще на все, главное чтобы .dbf было |
| Автор: BDmV 30.6.2005, 21:31 |
| Я почти разобрался со "своей" БД. Вощем кодировка там нормальная, а трабла во встроенных процедурах. Как только я через Фокс удаляб в .dbc все встроенные проседуры, так сразу ADOTable черех Фоксовый провайдер (скаченный сегодня) начинает открывать всё. (BDE всё равно матерится на индекс ЗЫ. Вощем, если нет возможности конвертить данные или обращаться к ним напрямую, то буду, при нажатии на кнопку "Обновить", копировать необходимые таблицы в каталог с "пустой" .dbc и от туда приводить всё в удобочитаемый вид... |
| Автор: Vlad04 30.10.2005, 06:52 |
| Делфи с библиотекой ADS http://www.advantagedatabase.com/ADS/default.htm нормально работает с таблицами FOxа/ проверял с free таблицами/ |
| Автор: BDmV 30.10.2005, 13:11 |
| Это всё хорошо, конечно, но 30дней меня не устраивает.. |
| Автор: sexton 7.11.2005, 13:19 | ||
Неправда, Dataset Descendant не ограничен по времени использования. А вот поковыряться в нем придется... Одно могу посоветовать - если возьмешься за ADS, читай активно его хелп - там все что надо есть. |
| Автор: Cashey 7.11.2005, 22:30 |
| Что за сложности? Обычный Tdataset с фоксовскими таблицами работает совершенно свободно |
| Автор: BDmV 10.11.2005, 00:08 | ||
Ну не знаю, на сколько он обычный, а то что с Fox'овскими таблицами он совершенно свободно не работает, также как и BDE и ADO, это совершенно точно... Он умеет видеть стандартные dbf файлы и не более того... У меня же база со встроенными процедурами и получить доступ к ней, кроме как из самого Foxa, я могу через ADO (Fox'ового провайдера поставляемого самим Фоксом) только после того как из dbc'эшки, из процедур повычишу половину команд, таких как запись в текстовый файл, установка формата даты и ещё непомню чего (проще конечно совсем убить все процедуру). Меня это не устраивает, так как приходится из базы копировать 20 файлов во временный каталог, затем туда копировать "безпроцедурную" dbc'шку и уж потом конектится ко всему этому через ADO. Геморно и нет реалтайма. ЗЫ. ADS выдает мне точно такиеже ошибки что и BDE, т.е. "Неверный формат файла". |
| Автор: VVSF 16.11.2005, 21:08 | ||||
это на каждой машине свое. не имело смысла приводить.. из выше перечитанного вывод таков - либо Фокс, либо Делфу переставляй, а точнее у делфы - ОДБЦ, его можно и отдельно переставить.. А я сколько помню свои проги с Фокс-базами - так все работает без проблем. Не понимаю в чем конкретно у тебя дело.. Единственный фикус-пикус - если с БДЕ, то паковка таблиц идет как dbiPacktable, а АДО - создавал программ-файл в фоксе, в файле этом код паковки всех таблиц. И еще - попробуй АДО через драйвер dBase включать, а не через фоксовский. В общем, по-пробуй и то, и это то же можно.. //а через БДЕ не пробывал, т.к. БДЕ я не пользую ВООБЩЕ. |
| Автор: Cashey 16.11.2005, 23:23 | ||
не думаю, возможно BDmV прав, я не проверял, но вполне возможно, что драйвера не будут работать с хранимыми процедурами и треггерами фокса |
| Автор: VVSF 18.11.2005, 08:24 | ||||||
Может все процедуры выложить в программ-файл??Если это тебе подойдет, то эти программ-файлы можно запускать из дельфи..
Может и не дойдет до суицида.. |