У меня есть приложение x64, которое использует поставщик Microsoft.ACE.OLEDB.12.0 для чтения базы данных MS Access в Windows 7 (x64), и она отлично работает (установлен Office 2010).
То же самое приложение, запущенное под Windows 8 с установленным Office 2013, выходит из строя с сообщением о том, что провайдер не может открыть предыдущие версии.
В Windows 8 с установленным Office 2013 также есть Microsoft.ACE.OLEDB.15.0, но я дважды проверил свой код и уверен, что он указывает 12.0 в строке подключения.
Существуют ли разные "версии" этого провайдера или есть что-то, что я пропустил?
Я перекомпилировал тестовую программу под Windows 8 для использования платформы x86 и сменил поставщика на Microsoft.Jet.OLEDB.4.0, и все это снова работает. К сожалению, модуль является частью более крупной экосистемы, которая должна быть выполнена под управлением x64 (в частности, подключаемого модуля к excel), а база данных доступа загружается пакетом с веб-сайта поставщика приложением, поэтому нецелесообразно преобразовать базу данных или изменить все на x86.
Спасибо заранее.