简体   繁体   中英

Solving “microsoft.ace.oledb.12.0' provider is not registered on the local machine” without the DB Engine Redistributable

Thanks first for reading this. Yesterday I suddenly got above error without having changed a single line of code in my Program itself. Fortunately I could easily solve it by querying stackoverflow. I did install the Microsoft Access Database Engine 2010 Redistributable as recommended here and it worked.

BUT: Does anybody know what this fix does behind the scenes and an alternative way how this fix could be achieved kind of "manually"?

Why I am asking: I am working in a big Company with an IT Department rolling out software centrally. I have an exception for my little Program but apart from that I can't and must not advise any user to install this additional software. Anyway they wouldn't even be able to do so. So I must find an alternative way.

Some more details: We are having Windows 7, Office 2010 and are now moving step-by-step to Windows 10, Office 2016. Some software installations (centrally by IT) to prepare this step must have been the reason why my Program suddenly did through this error above. I am developing my Program under Visual Studio Professional 2012 and I am (still) on Windows 7 myself. In my Reference Manager I have ticked:

  • Microsoft ADO Ext. 2.8 for DDL and Security
  • Microsoft OLE DB Service Component 1.0 Type Library

Any help is highly appreciated. Thanks and have a good weekend.

From what I could find on the internet, it seems there has been a change in the version number of the ACE driver in the office 2013 / 2016 versions. The ACE version will be either 15.0 for 2013 or 16.0 for 2016. Try changing you connection string to accommodate this change and see if it solves the problem.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM