Форум: "Базы";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
ВнизИспользование БД FoxPro в Delphi Найти похожие ветки
← →
Володя (2004-03-18 14:48) [0]Здравствуйте! Столкнулся с проблемой работы в Delphi с FoxPro-базами данных досовской кодировки. Подскажите пожалуйста - как перекодировать можно базу данных или как открыть её в Delphi правильно? Пока открывается база в виде краказябр и ес-сно ничего непонятно :(
← →
DenK_vrtz © (2004-03-18 14:58) [1]LANGDRIVER=dBASE RUS cp866
← →
DenK_vrtz © (2004-03-18 15:00) [2]Удалено модератором
← →
Володя © (2004-03-18 15:03) [3]А куда его ставить? При подключении бд? В ADOConnection? или куда?
← →
sniknik © (2004-03-18 15:11) [4]для ADO действуют настройки провайдера, частично и настройки BDE (когда пролвайдер (jet) использует BDE).
в общем настраивай в "подключении бд" (бд то дельфи небось? ;о)))))
← →
Володя © (2004-03-18 15:18) [5]Настройки провайдера все перебрал - изменить кодировку исходной базы данных (бд) FoxPro - не получается :(
← →
sniknik © (2004-03-18 15:25) [6]почему думаеш что все? (наивный :) у провайдера их может быть много, может быть и не настраиваемым, могут не включатся в строку подключения(эти имел ввиду? которые в строке).
← →
Володя © (2004-03-18 15:39) [7]нда, все - коорые в строке - там никакого LangDriver нету, и никаких опций для изменения кодировок - тю-тю... А как ещё можно опции провайдера достать?
← →
Володя © (2004-03-18 15:57) [8]Может дело в использовании ADO? Может стоит использовать BDE?
У них по-крайней мере есть функции NativeToAnsiBuf и AnsiToNativeBuf... Или все-таки при использовании ADO тоже можно нормальные данные вместо краказябры получать?
← →
sniknik © (2004-03-18 16:15) [9]> У них по-крайней мере есть функции NativeToAnsiBuf и AnsiToNativeBuf...
они есть и независимо от BDE, AnsiToOem / AnsiToOemBuff / OemToAnsi /OemToAnsiBuff
> Или все-таки при использовании ADO тоже можно нормальные данные вместо краказябры получать?
конечно можно, нужно только провайдера настроить (если он позволяет), или выбрать другого в противном случае.
← →
Володя © (2004-03-18 16:19) [10]Спасибо - попробую другие провайдеры, т.к. Jet мне явно не поможет в этом нелёгком деле :)
← →
sniknik © (2004-03-18 20:45) [11]ну наконец то... - Jet, (как гора с плечь;), надоело говорить ни о чем, конкретики хочется)
настройки зависят от установленности/неустановленности BDE. следовательно в BDEAdmine в одном случае и в реестре
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase\DataCodePage = OEM/ANSI
в другом.
ну и других провайдеров тоже. (ODBC VFP рекомендую в случае с чисто фоксовскими таблицами)
← →
Janbolat © (2004-03-19 06:44) [12]Установи visual foxpro он сам конвертирует базы старых vfp
← →
KSergey © (2004-03-19 07:50) [13]Для доступа к DBF рекомендую Halcyon.
Впрочем понятно, что проблема автора не в этом. но если захочется пользоваться и индексами - то читай первое предложение.
← →
Володя © (2004-03-19 08:55) [14]>Ksergey
А что такое Halcyon и что он могёт?
>Janbolat
Конвертация старых баз в новые не поможет по причине постоянной работы других людей с базой старого образца в других прогах, тем самым тогда придётся автоматически после каждого добавления нового элемента в базу перекодировать обратно в старый формат всю базу...
← →
sniknik © (2004-03-19 10:43) [15]Halcyon
http://www.vodonosov.newmail.ru/develop/develop.htm
возможно не пойдет "по причине постоянной работы других людей с базой старого образца в других прогах", изза различных блокировок при одновременном доступе (слышал такое, проверять не доводилось).
← →
Володя © (2004-03-19 15:25) [16]> sniknik
Огромное человеческое спасибо!!! Этот Halcyon помог - он как-раз и делает то, что нужно - переводит виндовскую кодировку 1251 в 866 досовскую и обратно автоматически!!! Супер - скачал библиотеку, установил - сделал на скоряк тестовую прогу для работы с той базой - и что вы думаете - люди в досовских прогах мою новую запись, сделанную в винде, видят и прекрасно всё понимают - не то, что раньше - краказябры...
Спасибо всем за помощь!!! Конечно это только тестовая прога, но там уж будет легче разбираться, раз такой этап уже пройден!!!
← →
Володя © (2004-03-29 08:33) [17]Возник вопрос по Halcyon....
Базы открываются, записи добаляются в нормальной кодировке - всё ок... Пошёл дальше фильтр юзать... И тут - подводный камень... Фильтр отказывается работать :( Выдаёт ошибку в исходниках при попытке определить формат одной из переменных исходника Halcyon... Старая версия Halcyon не помогает решить проблему... Может кто работал с Halcyon - подскажите, плиз, как исправить исходник для корректной работы фильтра...
← →
Anatoly Podgoretsky © (2004-03-29 09:44) [18]Используй АДО с соответсвующим провайдером, а не суррогаты
← →
Володя © (2004-03-29 10:00) [19]А как в обычном провайдере переводить данные из одной кодировки в другую (из 866 в 1251 и обратно)? Halcyon хоть такую задачу решил, правда с фильтром досадно получилось :(
← →
sniknik © (2004-03-29 11:55) [20]Володя © (29.03.04 10:00) [19]
в [11] посте для ADO-Jet-dBase приведены варианты настроек кодировки.
Володя © (29.03.04 08:33) [17]
> Может кто работал с Halcyon - подскажите, плиз, как исправить исходник для корректной работы фильтра...
это же исходник! если знаеш в чем проблема(место) береш и правиш как тебе надо. (но скорее всего там все нормально, просто фильтр неправильно задаеш)
← →
Володя © (2004-03-29 13:07) [21]Нашёл дыру в задании фильтра... Вроде заработало... А до этого пытался переделать исходники... Вот блин намудрили хорошо ребята... Стиль хороший :) Зря я на них ругался :)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.043 c