Solved

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

Posted on 2010-09-24
3
1,391 Views
Last Modified: 2013-11-26
Hi All,

I have an ASP.NET C# project with uses an OleDbConnection string for Excel (XLSX) files. The connection uses the provider Microsoft.ACE.OLEDB.12.0.

This works fine on my local development (32 bit) server but when I release it into production (presuming it 64 bit by my initial research), I get the error:

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

Now, I have read that you should target the project specifically to a 32bit but cannot find where you do that using Visual Studio 2008 on projects that use C#.

Any ideas how to overcome this issue?

Thanks,

Rit
0
Comment
Question by:rito1
3 Comments
 
LVL 14

Accepted Solution

by:
existenz2 earned 200 total points
ID: 33752248
0
 
LVL 2

Assisted Solution

by:dd12
dd12 earned 300 total points
ID: 33752264
Well the problem is  if you're on a 64-bit machine then by default IIS 7 wont  serve 32-bit apps, which the database engine operates on.Hence, you will need to follow the following procedure : -

1) ensure that the 2007 database engine is installed, this can be downloaded at: http://www.microsoft.com/downloads/details.aspx?FamilyID=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en

2) open IIS7 manager, and open the Application Pools area. On the right sidebar, you will see an option that says "Set application pool defaults". Click it, and a window will pop up with the options.

3) the second field down, which says 'Enable 32-bit applications' is probably set to FALSE by default. Simply click where it says 'false' to change it to 'true'.

4) Restart your app pool (you can do this by hitting RECYCLE instead of STOP then START, which will also work).

If it still doesn't work after this then you may need to change your Visual Studio Configuration to target for x86.
Please find the process below :
Please change target platform before compilation to "x86" instead of "Any CPU"

in Visual Studio 2008, just go to menu ...

Build -> Configuration Manager -> Active Solution Platform: -> New -> Type or select the new platform -> x86 - > OK
0
 
LVL 1

Author Closing Comment

by:rito1
ID: 33752327
Excellent, thanks both for you input. I will take this up with our host.
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Just a quick little trick I learned recently.  Now that I'm using jQuery with abandon in my asp.net applications, I have grown tired of the following syntax:      (CODE) I suppose it just offends my sense of decency to put inline VBScript on a…
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.

803 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question