Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-39747
BLiN
2002-04-27 17:53
2002.05.13
Как организовать задержку в Delphi меньше 1 мс


3-39654
Елена
2002-04-05 10:56
2002.05.13
Delphi и FoxPro-таблицы


14-39859
Кандыль
2002-04-03 17:32
2002.05.13
Где в реестре хранится имя папки...


6-39814
Aleksey_K
2002-03-01 16:24
2002.05.13
SMTP


4-39888
cok
2002-03-08 14:53
2002.05.13
Хэндл активного окна.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский