Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

DBF. Туплю. Помогите.

294
17 сентября 2003 года
Plisteron
982 / / 29.08.2003
Открываю Visual FoxPro 6.0 DBF в C++Builder с использованием BDE, так оно почему-то пытается транслировать мне из CP866 в CP1251 (хотя файл уже в CP1251), и, кроме того, не выводит NUMERIC поля (точнее, они выводятся, но пустые). Да, ещё и на CDX ругается, мол, фигня какая-то, а не индекс. Я понимаю, что где-то протупил, но где?
358
17 сентября 2003 года
moonmike
423 / / 18.10.2002
Цитата:
Originally posted by Plisteron
Открываю Visual FoxPro 6.0 DBF в C++Builder с использованием BDE, так оно почему-то пытается транслировать мне из CP866 в CP1251 (хотя файл уже в CP1251), и, кроме того, не выводит NUMERIC поля (точнее, они выводятся, но пустые). Да, ещё и на CDX ругается, мол, фигня какая-то, а не индекс. Я понимаю, что где-то протупил, но где?


А протупил ты в настройках BDE. Есть там такая кульная фишка Language Driver. И судя по всему не совсем верный драйвер для БД выбрал, скорее всего взял для DBASE III или для Paradox, а не для FoxPro.

294
17 сентября 2003 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by moonmike
А протупил ты в настройках BDE. Есть там такая кульная фишка Language Driver. И судя по всему не совсем верный драйвер для БД выбрал, скорее всего взял для DBASE III или для Paradox, а не для FoxPro.



Драйвер БД -- FoxPro.
Для FoxPro установлен LANGDRIVER Pdox ANSI Cyrillic
У таблицы TableType -- ttFoxPro

Путём совершенно шаманских манпуляций добился корректного отображения русского текста. Поля Numeric по-прежнему не отображаются.

358
17 сентября 2003 года
moonmike
423 / / 18.10.2002
Цитата:
Originally posted by Plisteron


Драйвер БД -- FoxPro.
Для FoxPro установлен LANGDRIVER Pdox ANSI Cyrillic
У таблицы TableType -- ttFoxPro

Путём совершенно шаманских манпуляций добился корректного отображения русского текста. Поля Numeric по-прежнему не отображаются.


Сдается мне что Pdox - сокращение от Paradox. Но это только мои предположения.
И еще вопрос, вернее 2
1) Что за шаманские манипуляции
2) А по чему бы вам не работать через ADO а не через BDE.

294
18 сентября 2003 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by moonmike

Сдается мне что Pdox - сокращение от Paradox. Но это только мои предположения.
И еще вопрос, вернее 2
1) Что за шаманские манипуляции
2) А по чему бы вам не работать через ADO а не через BDE.



Pdox ANSI Cyrillic -- это, иначе говоря, ancyrr, т.е. псевоним кодовой страницы 1251, и никакого отношения к Paradox (кроме названия) оно на самом деле не имеет.
1) Шаманство такого рода: менял TableType=ttFoxPro, ttDefault, ttBDase в разной последовательности, несколько раз. В конце концов заработало. ;) Почему не работало, если просто если установить TableType=ttFoxPro, я не понял. Да, ещё аналогичным образом пришлось "поиграть" в настройках BDE.
2)Потому что прога уже написана с использованием BDE, и переделывать неохота, потому как слишком много переделывать. Кроме того, не вижу принципиальных преимуществ ADO перед BDE. Кстати, может, я дурак, но у меня нет OLEDB-провайдера для DBF-файлов, а значит, открывать надо через OLEDB Provider for ODBC, а это значит, будет тормоз, заморочки с перетаскиванием ODBC на другие машины и заморочки с DSN.

1.9K
18 сентября 2003 года
ILS
100 / / 28.01.2003
Действительно, "напрямую" эти FoxPro-шные базы с CDX индексами не открываются. Но все пойдет на ура, если обнулить 29-ой (от 1) байт в заголовке DBF- файла. (В некоторых местах я у себя просто делаю копию DBF-файла - только его, других не нужно - и там "убиваю" этот байт).
[Что касаемо кодировки - всегда выставлял для DBF файлов RUS 866 - и проблем не знал]
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог