lazarus+odbc+dbf не получается
Модератор: Модераторы
lazarus+odbc+dbf не получается
Может кто нибудь дать рабочий пример обращения к dbf файлу через odbc c использованием TSQLQuery?
Или компонент аналогичный Ttable для работы с BDE. Ну установлена BDE уже на компах.
Или компонент аналогичный Ttable для работы с BDE. Ну установлена BDE уже на компах.
1. Чем не устраивает Tdbf?
2. Использовать другую базу данных (FireBird, Posgres, MySQL).
3. Какая у Вас ОС, Lazarus, и FPC?
2. Использовать другую базу данных (FireBird, Posgres, MySQL).
3. Какая у Вас ОС, Lazarus, и FPC?
rtts писал(а):...пример обращения к dbf файлу через odbc...
Полное извращение!
Tdbf не устраивает отсутствием sql запросов. Сами базы от действующей по сей день foxpro 2.6 for DOS
OS Windows. LAZARUS 0.9.30.2RC1
OS Windows. LAZARUS 0.9.30.2RC1
rtts писал(а):Сами базы от действующей по сей день foxpro 2.6 for DOS
Действительно, тогда TDbf не годится. Foxpro-шные индексы этой версии он не читает.
Но если данных не сильно много, то отсутствие индексов замедлит работу не сильно. Отсутствие SQL успешно эмулируется наложением фильтров на уже открытую таблицу.
Спасибо, уже что-то. Индексы не нужны, т.к все равно нет их поддержки (idx и cdx).
Конечно хотелось бы SELECT из нескольких таблиц
Конечно хотелось бы SELECT из нескольких таблиц
В SqlDbODBC изначально встроен один существенный недостаток, который на кривой козе не объедешь - в Lazarus кодировка UTF-8, а ODBC сообщения об ошибках выдаёт в ср1251. Сами понимаете - в чём будет проблема при попытке достучаться к базе, прочесть ниразу не удасться. 
Так что TDbf+связанные таблицы - и вперёд...
Так что TDbf+связанные таблицы - и вперёд...
Что мешает вам перекинуть базы в более приличествующий вид? В MySQL, например?
Это совсем не сложно, зато получите кучу плюшек и приятностей.
Я пишу из собственного опыта.
Правда переводил не фоксовские таблицы, а парадоксовские, но суть от этого не меняется.
После чего все мои мучения разом прекратились!
Это совсем не сложно, зато получите кучу плюшек и приятностей.
Я пишу из собственного опыта.
Правда переводил не фоксовские таблицы, а парадоксовские, но суть от этого не меняется.
После чего все мои мучения разом прекратились!
sign писал(а):Что мешает вам перекинуть базы в более приличествующий вид? В MySQL, например?
Наверное сидят на какой-то старинной программе середины 90-ых. У нас, в начале 2000-ых тоже была такая фигня - программа написана на Clipper. Что нужно - уже не делает, но ведёт основной учёт. После того, как в FoxPro делаешь из этой базы нужные выборки - навсегда портится заголовок таблицы и программа её уже не понимает.
-
sobee
- новенький
- Сообщения: 84
- Зарегистрирован: 04.02.2008 23:23:46
- Откуда: Снежинск, Челябинская обл.
Если очень хочется обрабатывать фоксовские файлы в Лазаре, то загляни сюда http://devzone.advantagedatabase.com/dz ... aspx?key=1
Может поможет.
Это русская страничка
http://www.hotsoft.ru/ADS/index.htm
Может поможет.
Это русская страничка
http://www.hotsoft.ru/ADS/index.htm
В принципе и самому запросто можно написать читалку DBF.
Я, помниться, когда-то делал такое.
Заголовок там простой, без затей.
А сети данных полно.
Вот, на вскидку - http://articles.org.ru/docum/dbf.php
Или вот - http://emanual.ru/download/1295.html
Или вот - http://www.autopark.ru/ASBProgrammerGuide/DBFSTRUC.HTM
И т.д.
Можно самому полазить по заголовку, найти отличия (может умники, какие изменили заголовок, чтоб доставлять потом).
Написать самому конвертер в текстовый файл с разделителем знаком табуляции, закачивать посредством MySQL и делай что хочешь потом с этими данными.
Я, помниться, когда-то делал такое.
Заголовок там простой, без затей.
А сети данных полно.
Вот, на вскидку - http://articles.org.ru/docum/dbf.php
Или вот - http://emanual.ru/download/1295.html
Или вот - http://www.autopark.ru/ASBProgrammerGuide/DBFSTRUC.HTM
И т.д.
Можно самому полазить по заголовку, найти отличия (может умники, какие изменили заголовок, чтоб доставлять потом).
Написать самому конвертер в текстовый файл с разделителем знаком табуляции, закачивать посредством MySQL и делай что хочешь потом с этими данными.
у самого дбфники, плюс х... кто из разрабов перелезет хотя бы на sqlite 
1. Создаем файлик dsn, через администрирование;
2. Открываем его и смотрим, там все простенько: какой драйвер, какой путь и по мелочи
3. Есть два варианта в ODBCConnection указываем путь к файлу dsn, или в св-во params вставляем выборочно поля из dsn (то что нужно). Тут немного экспериментов. ODBCConnection иногда ругается...
4 Самое последнее и прикольное - кодировки (по идее там дос, подключаем LConvEncoding и приводим в божеский вид).
Делал все стандартными компонентами, есть еще вариант через зеос (но его не рассматривал).
Хотя и с кодировкой особых проблем нет, если залезть в реестр и изменить кодировку на дос. Только это поищите в нете, забыл уже ключик
. Помню что он указывается где т в Jet)
а у нас самая современная прога, еще и обновляется
плюс: токо перелезь на что нить нормальное по шапке получиш 
1. Создаем файлик dsn, через администрирование;
2. Открываем его и смотрим, там все простенько: какой драйвер, какой путь и по мелочи
3. Есть два варианта в ODBCConnection указываем путь к файлу dsn, или в св-во params вставляем выборочно поля из dsn (то что нужно). Тут немного экспериментов. ODBCConnection иногда ругается...
4 Самое последнее и прикольное - кодировки (по идее там дос, подключаем LConvEncoding и приводим в божеский вид).
Делал все стандартными компонентами, есть еще вариант через зеос (но его не рассматривал).
Хотя и с кодировкой особых проблем нет, если залезть в реестр и изменить кодировку на дос. Только это поищите в нете, забыл уже ключик
Наверное сидят на какой-то старинной программе середины 90-ых
amateur писал(а):а у нас самая современная прога, еще и обновляетсяплюс: токо перелезь на что нить нормальное по шапке получиш
Ужос!!! Значит и вправду скоро конец света...
Vadim: гдет я уже это слышал (кажись раза три на своем веку).
