Click here to Skip to main content
15,867,453 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Locally solution works fine but on server upload when user try to import excel file then on button click an error comes like

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


I tried many solutions on google search but no one works.If anyone have idea please reply.

Thanks.
Posted
Updated 13-Oct-16 2:37am
Comments
Mehmet Uluağaç 27-Oct-15 10:24am    
'Microsoft.ACE.OLEDB.12.0' replace to 'Microsoft.Jet.OLEDB.12.0' and 12 should not use 4 should use. and it should be 97 to 03 excel xls format.
adriancs 18-Mar-16 8:09am    
Are you trying to read Microsoft Excel Documents?
adriancs 24-Jun-16 10:07am    
Try download "Microsoft Access Database Engine 2010 Redistributable", if your project still fail to locate it, try change your project to .NET 4.0, not 4.5
Hrishikesh 12-Dec-16 6:28am    
Is it a web application or a windows application?
Is the server a shared server or a private server?
Huzaifa Abbas 28-Feb-18 14:24pm    
Hi Brother!

This same issue is with me. I have a shared hosting my and hosting provider said that microsoft 12 is not supported on shared hosting.

Please help its urgent

Sorry for my english

Are we on a 64 bit windows server? if so is the application pool set up to enable 32bit?
That has sometimes been the case.

If not that, then check this solution out
http://www.connectionstrings.com/the-microsoft-ace-oledb-12-0-provider-is-not-registered-on-the-local-machine/[^]

It appears that the 'newer' version of Microsoft Access Database Engine 2010 Redistributable appears to have some issues not in the original 2007 edition.
 
Share this answer
 
Install the ACE DB engine on the remote machine...

Or, if the remote machine is 64 bit, change your app to 32 bit only. There is no version of ACE that runs in 64bit, so only 32 bit apps can access it.
 
Share this answer
 
Comments
itsathere 25-Jul-15 6:28am    
In same machine works locally but not from server.I have changed our app to 32 bit but still have same error
You can download it from the link below:
http://www.microsoft.com/en-us/download/details.aspx?id=13255[^]

then install it on the remote machine.
 
Share this answer
 
If you running your code containing OLEDB object on 64 BIT machine you will get this error, Just change the compilation to x86 CPU and then check the code, it will resolve your issue
 
Share this answer
 
It's just because your server can't find the Microsoft Ace.you have to change your code.though you can download it and install it but if you don't want to do that you have an alternative way of doing it.what exactly you are trying to do?.are you trying to work on Excel Sheet?
 
Share this answer
 
v2
Comments
[no name] 19-Oct-16 6:08am    
The question is already sufficiently answered. There is no real reason for you t be posting your comments as another solution.
The issue is due to the application not able find the required provide.

By installing ACE engine will solve the issue.
 
Share this answer
 
Install Office in required machine.

and use connection string according to file extension

EX.

Aconn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; " + "Data Source=" + getfilepath + ";Persist Security Info=False;");

or

Aconn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.4.0; " + "Data Source=" + getfilepath + ";Persist Security Info=False;");
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900