2015-03-04 1 views
0

Я использую ADO соединение и драйвер ODBC для чтения DBF файла:ODBC драйвер DBase: чтение строки поле непосредственно опуская использование интерпретации кодовой

Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Extended Properties=dBase IV; 

Как может быть строковыми поля неправдоподобных без символьной конвертации (по некоторой кодовой странице)? Я имею в виду, есть ли способ читать строки так же, как массив байтов. Возможно, какое-то свойство ADOConnection или строки строки подключения влияет на поведение чтения строк.

P.S .: Любые изменения dbf-файла неприемлемы.

Я уже пробовал продвигать строку соединения со следующими параметрами: «AutoTranslate = no;»; "CCSID = 65535;". Но это не сработало. У меня все еще есть перевод символов, соответствующий некоторой кодовой странице

ответ

0

Еще один интересный момент. Если подключиться через поставщика OLE DB

Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=dBASE IV; 

затем перевод символов переносится. Но этот метод медленный и имеет некоторые disadventages, поэтому он не подходит хорошо.

В настоящее время я не нашел решение, за исключением использования оператора Jet OLE DB в случае неправильного перевода строк и поставщика MSDASQL в качестве общего для общего назначения ...