DBF. Туплю. Помогите.
Открываю Visual FoxPro 6.0 DBF в C++Builder с использованием BDE, так оно почему-то пытается транслировать мне из CP866 в CP1251 (хотя файл уже в CP1251), и, кроме того, не выводит NUMERIC поля (точнее, они выводятся, но пустые). Да, ещё и на CDX ругается, мол, фигня какая-то, а не индекс. Я понимаю, что где-то протупил, но где?
А протупил ты в настройках BDE. Есть там такая кульная фишка Language Driver. И судя по всему не совсем верный драйвер для БД выбрал, скорее всего взял для DBASE III или для Paradox, а не для FoxPro.
А протупил ты в настройках BDE. Есть там такая кульная фишка Language Driver. И судя по всему не совсем верный драйвер для БД выбрал, скорее всего взял для DBASE III или для Paradox, а не для FoxPro.
Драйвер БД -- FoxPro.
Для FoxPro установлен LANGDRIVER Pdox ANSI Cyrillic
У таблицы TableType -- ttFoxPro
Путём совершенно шаманских манпуляций добился корректного отображения русского текста. Поля Numeric по-прежнему не отображаются.
Драйвер БД -- FoxPro.
Для FoxPro установлен LANGDRIVER Pdox ANSI Cyrillic
У таблицы TableType -- ttFoxPro
Путём совершенно шаманских манпуляций добился корректного отображения русского текста. Поля Numeric по-прежнему не отображаются.
Сдается мне что Pdox - сокращение от Paradox. Но это только мои предположения.
И еще вопрос, вернее 2
1) Что за шаманские манипуляции
2) А по чему бы вам не работать через ADO а не через BDE.
Сдается мне что 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.
[Что касаемо кодировки - всегда выставлял для DBF файлов RUS 866 - и проблем не знал]