Search code examples
c#exceloledboledbconnection

the 'microsoft.ace.oledb.12.0' provider is not registered on the local machine while reading a excel file in c#


I am reading an excel file and I want to access its contents. I am using this connection string:

connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}; Extended Properties=Excel 12.0;", Server.MapPath(fileName));

But I see this error:

The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.

My server is running on 64-bit operating system. I have installed Microsoft Office Professional Plus 2010(32-bit) and Microsoft Access database engine 2010 on it.

What is the problem?


Solution

  • Check out the following links, if they solve the issue that you are encountering:

    http://www.mikesdotnetting.com/article/280/solved-the-microsoft-ace-oledb-12-0-provider-is-not-registered-on-the-local-mac

    http://www.codeproject.com/Tips/417397/OLEDB-Provider-is-Not-Registered-on-the-Local-Mach

    https://social.msdn.microsoft.com/Forums/en-US/f11b2df9-fd0a-4528-987f-f95dfdccee0a/microsoftaceoledb120-provider-is-not-registered-on-the-local-machine-error?forum=adodotnetdataproviders

    Last one suggests downloading a patch from - http://www.microsoft.com/en-us/download/details.aspx?id=13255