Убедитесь, что ваш компилятор установлен на x86, если вы пытаетесь сослаться на dll x86 ...
У меня были похожие проблемы ... как уже упоминалось выше, при попытке использовать OLEDB для доступа к файлу Excelиз моего кода C # в Visual Studio 2012.
Я продолжал получать сообщения о том, что библиотека Access недоступна, но я знал, что загрузил ее.
Во время отладки меня осенило, что яКомпилирую для 64-битной, но у меня загружен Office x86.Несмотря на то, что я загрузил библиотеку Access для 32-разрядной версии, она никогда не использовалась приложением ... и поэтому была недоступна.
Вот что я использовал в C #:
"Поставщик = Microsoft.ACE.OLEDB.12.0; Источник данных =" + strFilePath + "; Расширенные свойства = 'Excel 12.0 Xml; HDR = Да'";
... Я получаю сообщение об ошибке
Как только я переключил компилятор на x86, он заработал