На входе DBase IV DBF файл, в .NET 2.0 C# приложении открываю БД с таким коннекшн стрингом — "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=dBASE IV;Data Source=" + path. Все строки в БД в 866 кодировке. При попытке чтения данных из таблицы ничего вразумительного не получаю. Если в строку соединения добавить "Locale Identifier=866", то при любой выборке ловлю исключение — "Выбранная последовательность сортировки не поддерживается операционной системой."
Ещё одна тонкость. В DBF файле, байт отвечающий за кодировку таблицы сброшен в 0 (который находится по смещению 29), такими таблицы приходят ко мне на вход. Пробовал ставить этот байт в 0x65 (что соответствует 866 КС), в таком случае строки читаются нормально, но запрос на создание индексов для таблицы с треском проваливается — ловлю исключение "Непредвиденная ошибка драйвера внешней базы данных (12289)."... Если создавать индексы на таблице со сброшенным в 0 байтом КС, а потом устанавливать этот байт в 0x65, то индексы создаются, но при попытке выборки по индексам, вылетает исключение "Индекс не найден"...
Что мне делать? Посоветуйте, люди добрые, а то я уже готов биться головой о стену...