Проблема с кодировкой при чтении 1Сных таблиц через ADO #304894


#0 by tor0310
понимаю что вопрос избитый, но то решение что везде рекомендуют - именить ключик реестра с OEM на ANSI мне не помогает - при открытии таблицу тогда выдает ошибку. через ADO мне нужно читать 1Сную таблицу так как нужен быстрый поиск подстроки в наименовании Что можно еще сделать? Я пробовал через "Microsoft dBASE Driver (*.dbf)" и "Microsoft.Jet.OLEDB.4.0". Может через какие-то другие драйвера или эти как-то можно настроить? Есть конечно вариант составить таблицу соответствия символов и посимвольно сконвертить ту подстроку и ее уже искать, но это коряво как-то. Ведь читают же приложения нормально эти таблицы....
#1 by ТелепатБот
#2 by tor0310
уже был, проблема там не решена
#3 by Sadovnikov
А зачем чистым ADO это делать? Не проще взять 1С++?
#4 by tor0310
пробовал подставлять LangDriver в BDE Administatore но разницы что-то не заметил :(
#5 by tor0310
ну для ADO уже код есть. А с 1С++ еще дела не имел, да и что измениться с кодировкой? OemToAnsi часть символов норм конвертит, но все заглавные - нет
#6 by tor0310
(5+) точнее если эту подстроку через OemToAnsi конвертить в тот формат кракозяблей и там уже искать
#7 by tor0310
ап
#8 by vde69
там еще один ключик нужно исправить, на память не помню, счас поищу, но 100% то-же не дает , помогает переустановка драйвера на стандартный
#9 by tor0310
а как переустановить на стандартный?
#10 by tor0310
(9+) это наверное из-за установки BDE Administratora... да и я уже там много чего перевернул пока искал, а раньше еще и искал как парадоксовскую таблицу загрузить, так что там нахимичино прилично
#11 by vde69
кроме вот этого значение ключа реестра DataCodePage в ветке [HKEY_LOCAL_MACHINESOFTWAREMicrosoftJet4.0EnginesXbase] там еще один надо создать с параметром "1" но не помню на память, есть описалово но прочесть не могу нету 8.0
#12 by vde69
переписать и перерегить dll-ки
#13 by tor0310
у меня 7ка
#14 by tor0310
блин ламерский вопрос, но я не знаю как регать dllки :) и не знаю где взять стандартный драйвер, если есть вышли плиз на tor0310 собака yandex.ru
#15 by tor0310
а и кидай туда же описание этого
#16 by vde69
у меня этот патч в коментариях во внешней обработке лежит, а она 8.0, а тут нечем посмотреть ее :(
#17 by tor0310
у меня 8ка есть, кидай, я прочитаю
#18 by vde69
открываешь настройки ОДБС, вкладка драйверы, там смотришь версию и имя файла, дальше тащи ориг из дистра винды и подставляй, ну а регить ток C:WINDOWSsystem32 egsvr32.exe
#19 by vde69
не могу, там секреты лежат :) если не разберешься отмыль мне, я вечером из дома отвечу. но на 99% довольно будет и
#20 by tor0310
ты знаешь они там у меня от мелкомягких от 18.08.2004, видимо стандартные
#21 by tor0310
моя ася 176-694-533 можно через нее сконнектиться
#22 by vde69
стандартная версия примерно такая 4.00.6304 попробуй еще вот чего [HKEY_LOCAL_MACHINESYSTEMControlSet001ControlNlsCodePage] "1250"="c_1251.nls" "1251"="c_1251.nls" "1252"="c_1251.nls"
#23 by tor0310
версия такая и в реестре стоят эти значения
#24 by tor0310
....видимо прийдеться по символьно подбирать соответствие между кодировками, блин дикость какая-то...
#25 by vde69
попробуй на другой тачке!
#26 by tor0310
да я дома програмлю :) к брату съезжу или до клиентов... еще чуток похимичу - я пробую через другие драйвера где-то слышал версию что через Visual FoxPro эта проблема решается, но при подключении что-то ругнулся вроде того что не поддерживает такую функцию.... может в строке соединения ошибка
#27 by tor0310
Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][Диспетчер драйверов ODBC] Драйвер не поддерживает данной функции
#28 by smaharbA
BDE=2
#29 by tor0310
поясни
#30 by vde69
+ вот я дома и нашел вторую часть патча драйвера // не забываем про патч реестра для файловой версии
#31 by vde69
итого рекомендую следующий сборный патч [HKEY_LOCAL_MACHINESOFTWAREMicrosoftJet4.0EnginesXbase] "DataCodePage"="ANSI" [HKEY_LOCAL_MACHINESOFTWAREMicrosoftJet4.0EnginesXbase] "BDE"=dword:00000002 [HKEY_LOCAL_MACHINESYSTEMControlSet001ControlNlsCodePage] "1250"="c_1251.nls" "1251"="c_1251.nls" "1252"="c_1251.nls"
#32 by tor0310
спасип! взлетело надо добавить это в Книгу знаний, чтоб люди не мучались
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С