У нас есть клиент, который запускает проприетарное приложение, из которого они хотят извлечь некоторые данные, чтобы они могли отобразить их на веб-сайте.Приложение имеет возможность экспорта, которая записывает необходимые данные в файл MS Access .MDB.
Мы написали простую программу с использованием драйверов JET от MS, которая просто скопировала соответствующие таблицы в базу данных SqlServer, где другая программабудет выполнять запросы против них, чтобы собрать то, что было необходимо.Это работало нормально в течение нескольких лет.
Затем поставщик обновил свое проприетарное приложение, и хотя файлы .MDB выглядят одинаково и отображают правильные данные при просмотре в MS Access, то, что мы получаем в нашемПрограмма, когда мы извлекаем записи с драйверами JET, повреждена.Иногда выглядит, что выравнивания полей неверны - числовое поле, которое должно содержать 23,40, будет содержать .23, я получаю даты в 2150-х годах и т. Д.
Моя программа, работающая на моем компьютере, обрабатывает то же самоефайл работает правильно.Эта же программа, работающая на серверах, на которых она должна работать, считывает поврежденные данные.
Я заметил, что версия драйвера JET - msjetoledb40.dll - выше, а дата новее - на моем Windows 7коробку, чем на любом из серверов, на которых мы это пробовали.поэтому я подумал, что это может быть проблема с устаревшим драйвером.К сожалению, последняя доступная версия драйверов JET - это SP 8.0, это версия, которую мы установили, и которая не работает.Более поздние версии доступны только при установке ОС.
Итак:
Есть ли способ получить и установить более современные драйверы JET?
Не вводят ли нас в заблуждение различия версийв драйверах JET?Есть ли что-то еще, что может вызывать проблему, на которую мы должны обратить внимание?
Существуют ли какие-либо другие средства или средства для извлечения данных из файла MS Access .MDB?(Примечание: это защищенный паролем файл, поэтому нам понадобится инструмент, который сможет это обработать).