Форум: "Базы";
Текущий архив: 2002.05.13;
Скачать: [xml.tar.bz2];
ВнизDelphi и FoxPro-таблицы Найти похожие ветки
← →
Елена (2002-04-05 10:56) [0]Что думают Мастера относительно работы Delphi и FoxPro-таблиц? Потребовалось перенести проект с Microsoft Visual FoxPro на Delphi и не знаю, через какой движок работать с таблицами.
Заранее благодарна.
← →
Johnmen (2002-04-05 11:11) [1]BDE, ADO, ...
← →
panov (2002-04-05 11:12) [2]Я, например, думаю резко отрицательно про работу с БД от VFP из Delphi. Просто работа с .DBF, еще куда ни шло. Лучше перенести структуру в оттдельные таблицы DBF, по моему мнению, или перенести в Paradox.
← →
sniknik (2002-04-05 11:18) [3]если переносить базу на другую платформу то почему не MSSQL или хотя бы в Mdb. c Paradox не меньше проблем и в MSSQL есть но MSSQL хотя бы прогрессивнее :-)
← →
Елена (2002-04-05 11:35) [4]Боюсь, структуру таблиц поменять не позволят :(
← →
Елена (2002-04-05 11:37) [5]И формат тоже.
← →
Val (2002-04-05 11:39) [6]>Елена © (05.04.02 11:35)
хм, говорят же не о структуре, а о типе БД?
>sniknik © (05.04.02 11:18)
а IB не полегче MS SQL будет? (имею ввиду администрирование, занимаемое место на диске...)
← →
Val (2002-04-05 11:40) [7]>Елена © (05.04.02 11:37)
зачем тогда ушли от VFP?
← →
sniknik (2002-04-05 11:50) [8]ну если так надо. (я своего начальства тоже не понимаю).
берете MS SQL в нем делаете линки на свои таблицы, в дельфи используете ADO для подключения к MS SQL. и структура и формат таблиц будут в целости :-). Mdb тоже линки позволяет.
(только это все идиотизм честное слово)
IB может и легче, я сним совсем не работал.
← →
Slava (2002-04-05 12:47) [9]К VFP из Delphi только через ODBC
← →
Елена (2002-04-05 13:31) [10]То есть используя компоненты со вкладки ADO?
← →
Johnmen (2002-04-05 13:34) [11]Или со вкладки Data Access...
← →
rvs (2002-04-05 14:28) [12]У меня подобная проблема.
Переходим с FPD + - VFP на Delphi + (MySql + Linux);
Причем все ПО будет преписано по новому, с полным ломанием старой структуры.
Тяжело, но будем бороться....(надеясь на Вашу помощь, мастера!!!)
И что меня радует для этого не надо ни ADO ни BDE.(Zeodbo)
← →
Johnmen (2002-04-05 14:41) [13]>rvs © : Наоборот, должно быть легко - все делается заново, а не латается существующее !
А ADO и BDE не нужно и для др. связок :
Delphi+InterBase+Win,Delphi+InterBase+Linux, например.
← →
Елена (2002-04-05 15:28) [14]Я через Table не могу даже открыть таблицу FoxPro :(
← →
Johnmen (2002-04-05 15:34) [15]А как пытаешься открыть ?
← →
sniknik (2002-04-05 16:09) [16]попробуй в ADOConnection.ConnectionString следующую строку (путь свой пропиши)
Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DSN=Visual FoxPro Tables;UID=;SourceDB=D:\;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;";Initial Catalog=d:\
должно получится.
← →
VAleksey (2002-04-06 17:00) [17]Да уж не один я с таблицами VFP мучаюсь -).
> sniknik © получится то получится, но не думаю что она сможет что-ли бо изменить в этих таблицах (или это у меня только не получилось (?) ) Ща попробую твою строку.
← →
VAleksey (2002-04-06 17:14) [18]Да уж не один я с таблицами VFP мучаюсь -).
У меня три вопроса по примерно такой же теме в конференции висит хоть бы кто ответил. А по новой вроде не прилично задавать -).
> sniknik © Не сработало. Не пошла твоя строка. В смысле все прекрасно открывается редактируется, но после Close | Open все данные на месте.
> Елена © Конечно ты не можешь открыть таблицу. Там есть поле мемо (файлик *.fpt ) убери мемо поле или исправь его на стринг и откроешь таблицу TTable - ом. Есть у меня компонентик который все эти таблицы VFP открываети редактирует прекрасно не нужно ADO (вроде и BDE тоже. не смотрел) если надо звони.
ЗЫ но по моему у него какие-то глюки с кодировкой. Не было времени разбираться.
← →
sniknik (2002-04-06 20:04) [19]VAleksey уверен что строка виновата? а не изза других причин UpdateBatch например не делаеш или подобное? Я почему спрашиваю, у меня подобное работает правда таблици от Win FoxPro 2.5 (старый) но все одно драйвер тот же от Visual FoxPro. Или такая разница в таблицах?
← →
VAleksey (2002-04-07 05:47) [20]Не знаю. Строка по моему не виновата конечно (а тогда что виновато (щас кто - нибудь скажет что это я виноват -))). UpdateBatch пытался делать , но вываливалась ошибка (одна и та же на Refresh и на UpdateBatch) - "Insufficient base table information for Updating or Refreshing" . И привет.
← →
Anatoly Podgoretsky (2002-04-07 09:02) [21]sniknik © (06.04.02 20:04)
Между 2.5 и далее есть огромная разница, в 2.6 появилась поддержка языков, далее изменился и формат, BDE драйвер поддерживает тольуо версию 2.5, может работать и с 2.6 но ограничено, например если язык таблицы не Win-1251
Надо биться через АДО
← →
sniknik (2002-04-07 11:02) [22]у меня пока слава богу такой проблемы не стоит чему я очень рад. а потом кто нибудь добьется и я у него спрошу на этом форуме :-)))))
VAleksey просьба. зашли мне табличку от VFP с индексами (с которой у тебя ничего не получается). Может всетаки попробую.
Anatoly Podgoretsky к таблицам от 2.5 я через адо подключался (см строку подкл. выше, примерно такая же) но тут наверно срабатывает принцип совместимости сверху вниз (раз уж разница есть и с поздними версиями у людей не получается).
и еще я просмотрел свой код и вот какая вещь. у меня нигде таблици не обновляются/изменяются из гридов и подобных (только рид онли). везде запись идет через SQL (INSERT, UPDATE ...). может в этом дело? Это конечно ограничивает возможности но мне именно так надо было.
← →
dim- (2002-04-07 12:02) [23]а если исключить таблици из БазыДанных VFoxPro и сделать Export в формат FoxPro 2.x то потом можно использовать и стандартный BDE
← →
Anatoly Podgoretsky (2002-04-07 12:12) [24]dim- © (07.04.02 12:02)
В какой именно?
← →
sniknik (2002-04-07 13:26) [25]dim- © тогда в формат dBase проблем почти не будет но см. условие Елена © пишет что ни формат ни структуру ей поменять не дадут.
(не понимаю почему) если конечно нет требований как у меня программа должна работать а наша приблуда только делает отчеты и изредка меняет значение, другое. но у не вроде идет полная замена. я бы в этом случае взял бы базу Access и не мучался.
← →
As1 (2002-04-07 16:43) [26]Ой помню намучился
Лучше перейти на что-то другое
или использовать ADO или просто ODBC, форматы VFP и базу данных VFP, там хоть первичные ключи есть и можно фокспрошные программы запускать без присутствия фокса
Но лучше не связываться...
← →
AlexSev (2002-04-08 00:54) [27]Народ, вытягивание данных из VFP 5.0&6.0 - вилы!
Мне пришлось двойной доступ делать, через нативные BDE драйвера
и через ADO (ODBC), т.к. некоторые специфические фоксовские поля (типа varbyte) просто не видятся BDE при том или ином способе подключения. Поэтому половину таблиц пришлось вкачивать через ADO, а половину - через родные драйвера BDE.
← →
Марк Твен (2002-04-08 09:21) [28]Ado? Odbc ?...
Ирландцев просят не беспокоиться.()
На http://blackman.km.ru
давно лежит примерчик. Зовут NStruct
← →
AlexZ (2002-04-08 09:50) [29]Помогите решить такую проблему:
Есть:
1. Есть программа 2-НДФЛ написанная на неизвестной версии Visual FoxPro и ее DBF файлы (Visual FoxPro). (Программа предназначена для формирования справок о доходах для сдачи в налоговую инспекцию).
2. Есть DBF файлы (DBase III), содержащие данные которые нужно закачать в DBF файлы программы 2-НДФЛ.
Проблема:
Delphi не открывает DBF (Visual FoxPro) файлы программы 2-НДФЛ.
Подскажите, что делать!
← →
sniknik (2002-04-08 10:28) [30]to Марк Твен
NStruct Простая программа для просмотра и редактирования DBF файлов типа Foxpro 2.5 c индексами ......
не отвечает условиям вопроса. читай топик внимательней, непонятные места перечитывай до полного понимания :-))).
Не ирландец.
Люди ну пришлите мне ктонибудь таблицу VFP (с индексом) с которой у вас ничего не получается. Я уже созрел для того чтобы попробовать, а то так много говорят о проблемах с ними .....
← →
pasha676 (2002-04-08 11:12) [31]Ой. Ужас какой. Извините все читать не стал. Вообщем у меня работает база данных VFP из под Дельфи. Связка ДельфиПрога=>BDE=>ODBC=>База на фоксе. Проблем не замечал, кроме упаковки таблиц. Ее решил с помощью dll на фоксе написанной.
Почему у кого-то не получается не понимаю.
← →
Slava (2002-04-08 11:30) [32]> pasha676
Все правильно. Только через ODBC. И нет проблем...
← →
Zemal (2002-04-08 11:31) [33]> pasha676 (08.04.02 11:12)
Ну вообще как извращаться это ваши проблемы! :) Но чтоб так!!! Это круто! Использовать аж два провайдера! :) ODBC и BDE, конечно, работают вместе... но какие тормоза при этом? Да и зачем такое надо? Это происходит обычно, когда программеры старой закалки, плохо ориентирующиеся в современных технологиях ищат лазейку :). Если бы можно было найти ещё один провайдер баз данных, то и его включили бы :). Это очень смешно, когда один вагон два паравоза тянут :) гы-гы-гы... на такое извращение можно смотреть только падая со стула от смеха... А про ADO не слышали? :)
← →
AlexZ (2002-04-08 11:34) [34]Извините чайника :)
Подскажите как подключаться через ODBC
← →
sniknik (2002-04-08 12:40) [35]Нашлась добрая душа прислала таблицу, так что просьба снимается.
и в принципе никакой разници в работе через ADO c другими я на заметил.
использовал строку Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DSN=Visual FoxPro Database;UID=;SourceDB=d:\;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;";Initial Catalog=d:\
это последняя из пробных (начал с той что писал в начале топика, обе рабочие)
заморочка только с тем что при изменениях в гриде выдает ошибку (если это LiveQuery а не оторваный датасет, в датасете просто не сохраняет). В одной из версий ошибка звучит так "драйвер ODBC не поддерживает данный метод". (смысл понятен ищите другой драйвер)
Все методы SQL - UPDATE и т.д. можно использовать. При желании можно переписать стандартные методы апдета грида, посадить все на SQL и все будет работать.
Кому интересно могу выслать простой пример с реализованным 1-м UPDATE для 6 делфи. (вместе с таблицами будет прим. 100кб архива)
← →
sniknik (2002-04-08 14:15) [36]P.S. при удалении индексов снялась и ошибка с изменениями в гриде. не поддерживается какойто метод работы с индексами? или индексы в присланной мне таблице были несовместимы с моим ODBC драйвером? (если ставить VFP он наверняка свои поставит а у меня от Microsoft-а)
короче проблем нет (это я для себя решил) если вдруг придется работать с таблицами VFP.
← →
B (2002-04-08 20:19) [37]Ну вы, блин, все даёте ...
А никто не пробовал безBDE-шные движки для доступа к DBF ?
Их же куча - Apollo, AdvantageDatabase, Halcyon и т.д...
Уверен, шо хоть какой-то из них будет нормально работать с фокспрошной таблицей.
И кроме того, на клиенте ничего настраивать не придётся. А работать будет даже на "чистой" Вин95 !!!
← →
Slava (2002-04-09 08:46) [38]> B
Уважаемый, все это не работает с базами от VFP.
← →
Denis K. (2002-04-10 11:27) [39]Столкнулся с проблемой, что называется лицом к лицу!
Господа! Вы никогда не сделаете хорошую программу с базами от Fox через ODBC (не знаю насчет ADO, но думаю это не лучше). Попробуйте найти запись, даже в проиндексированной таблице размером 30Мегабайт(около 500 тыс. записей). На это уйдет несколько минут! А сам Fox тратит меньше секунды! Решение, по моему, должно сводится к работе через dll Fox-а - это наверняка и не вызовет проблем с совместимостью. Хочу попробовать компоненты доступа через CodeBase, но пока не не нашел библиотеку c4fox.dll (если у кого есть - не пожалейте, пришлите на e-mail).
Подводя итог - давайте искать (а может создавать общими усилиями)компонент, работающий через родные библиотеки VFP.
Буду рад любому общению с коллегами по данной проблеме, только пишите, пожалуйста, на e-mail.
С глубоким уважением,
Денис.
← →
rex (2002-04-10 13:01) [40]У меня тоже была большая проблема с доступом к таблицам VFP. Как только я ни изощрялся, всё бестолку. Конечно, можно подключиться через ADO, но в у меня в Windows XP прога не захотела идти, хотя в 98 и Me всё путём (почти, поскольку в той базе есть главная таблица, которая от других вроде и не отличается - всё тот же индекс *.cdx и мемо - *.fpt, но не открывается). И вот тут недавно наткнулся на компонент FoxDSet1 который работает напрямую без BDE и ODBC, и индексы удалять не нужно (хотя я по привычке удаляю, на всякий случай). В общем хороший компонент, только к главной таблице так и не коннектится.
← →
lunev (2002-04-10 16:00) [41]Halcyon - работает нормально и с VFP, и с FPD таблицами. (и Pack делает), но с большими не проверял.
← →
Slava (2002-04-11 07:17) [42]> lunev (10.04.02 16:00)
Только что проверил.
Действительно работает
← →
denis_vk (2002-04-11 16:31) [43]FoxDSet1, Halcyon
А слабо ссылки выложить?
← →
VAleksey (2002-04-11 16:49) [44]Стопудов.. у Halcyon глюки с кодировкой
> denis_vk держи высылаю
← →
Delirium (2002-04-11 17:24) [45]> All
Лично я использую oledb провайдер 7-го Fox-а и ADO соответственно. Провайдер выделен в отдельный дистрибутив, весит около 4-х мегобайт, поддерживает работу с FoxPro 2.5, VFP 6.0 и 7.0 (возможно и ещё с чем-либо, не пробовал). Таким образом: нет BDE и нет ODBC, результат - нет глюков.
← →
kaif (2002-04-12 03:40) [46]Вообще техника работы с данными в VFP сильно отличается от того, как это можно в Delphi сделать. Я имею в виду SQL-ориентированное мышление. Неужели кому-то нужно все эти хождения по записям взад-вперед из FoxPro переносить в гораздо более мощную систему?
Я полагаю, что начальство сильно ошибается, считая, что структуру, а тем более формат следует сохранить. Скорее всего, для задачи было бы лучше воспользоваться моментом и пересмотреть структуру. Наверняка многое плохо нормализовано в таблицах. Сохранить данные и сохранить структуру - не всегда одно и то же. И момент подходящий, чтобы многое пересмотреть. Я бы не спешил с переносом в лоб. Все же сначала лучше критически изучить сами структуры и логику. А потом можно перейти на IB или Access или MSSQL, в зависимости от сетевых потребностей. Заранее не рекомендую оставаться в DBF, если предполагается сетевая работа (много пользователей). И это будет плохо работать, независимо от DBE, ADO, ODBC или еще чего там применять.
В конце концов, начальство для того и существует, чтобы его попытаться переубедить, а то это не начальство, а командование называется...ИМХО
Я не советую, я просто рекомендую чуть-чуть подумать, прежде чем что-то делать, чтобы потом себе гимор не создать.
← →
rex (2002-04-12 14:39) [47]>kaif
Перенести данные в другую систему конечно можно. Но когда ты работаешь с федеральной базой данных и по ней постоянно отчитываешься, и в которой ты не имеешь права ничего менять (Москва голову снесёт) - тогда приходиться изощряться для того чтобы выудить или записать данные ничего не ломая. А так вы конечно же правы.
← →
Denis K. (2002-04-17 14:27) [48]Попробовал Halcyon - thanks VAleksey!
Действительно, с кодировками глюки, возможно это удастся исправить. Интерено, есть ли у него какое-нибудь подобие Rushmore? Вот у Apollo оно есть, поэтому работает достаточно быстро, но только в кодировке 1251. По-моему это выход, если конвертировать таблицы.
Кто-нибудь пробовал компоненты доступа через CodeBase движок?
Поделитесь впечатлениями!
Страницы: 1 2 вся ветка
Форум: "Базы";
Текущий архив: 2002.05.13;
Скачать: [xml.tar.bz2];
Память: 0.58 MB
Время: 0.006 c