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

    Question

  • I'm not sure this is the correct forum, if not please can you direct me accordingly.

    I'm trying to extract data from Excel 2007 using OleDB.

    I've downloaded and run '2007 Office System Driver: Data Connectivity Components' and the installation appears correct, but when I try and open a connection (from c#) I get the error above.

    I don't know how to check if the driver is really there.  It is not shown in the ODBC panel (though the ODBC drivers - probably legacy are).

    I'm running W2K3 x64 R2 on a twin dual Athelon machine with lots of resource.

    Can anyone suggest how I diagnose this?

    Iain

     

     

     

    • Moved by Cindy Meister MVPMVP Saturday, December 28, 2013 8:46 AM Continuing discussion; as Access component, Access forum is better than VSTO
    Wednesday, January 10, 2007 4:14 PM

Answers

All replies

  • Hi Iain

    I can think of two places that would be good to ask this: the Data.OleDB and the Access programming newsgroups.

    You wouldn't see OleDB providers in the ODBC administrator, that's a different technology :-)

    Wednesday, January 10, 2007 5:30 PM
  • hi laindowns,
    please help me, i am also facing the same problem.
    u solved this issue?

    thanks
    Praveen
    Wednesday, September 19, 2007 4:25 PM
  • Hi,

    I had this problem initially, but it appeared to be due to installing the .exe over the network.

    After copying to my C: Drive first, it worked fine.

    You can see if it has installed by looking in add/remove programs - it appears in the list as “Microsoft Office Access database engine 2007”

    Pete
    Monday, November 19, 2007 7:08 PM
    • Proposed as answer by krappies Monday, March 01, 2010 8:47 PM
    • Marked as answer by Cindy Meister MVPMVP Thursday, October 07, 2010 10:05 AM
    Friday, January 22, 2010 11:25 PM
  • Hi,

    I've had the exact same problem.
    Actually it is because you are running 64-bit windows and there are no MS Access drivers that run 64-bit. So to solve it you need to change your build configuration to x86. You can do that on the project properties dialog under "Compile>Advanced Compile Options...>Target CPU". Change it to "x86". Then clean and rebuild your solution. It should work like a charm now.

    Regards,
    Hugo

    • Proposed as answer by Hypnotic Tuesday, March 16, 2010 3:59 PM
    Tuesday, March 09, 2010 2:55 PM

  • Actually it is because you are running 64-bit windows and there are no MS Access drivers that run 64-bit. So to solve it you need to change your build configuration to x86. You can do that on the project properties dialog under "Compile>Advanced Compile Options...>Target CPU". Change it to "x86". Then clean and rebuild your solution. It should work like a charm now.


    This is weird. I have a project that has this problem. I tried to follow your directions, but there is nowhere on that screen that says "Target CPU". 

     

    The funny thing is that on the SAME machine, I have a different project where I DO see the Target CPU button. I am SOOOO confused!

    Monday, April 05, 2010 2:44 AM
  • Kinda ditto here. I'm trying to create a database application using vb express edition 2008. I'm on windows 7 with a 64bit core. I downloaded the x86 data connectivity component, and it didn't do anything. And the Target CPU option isn't there, so I can't really keep on working since i can't debug it properly. Anyone got any ideas? Please?
    Friday, April 16, 2010 10:55 AM
  • Thanks a lot it really works
    Monday, May 03, 2010 5:27 AM
  • thank youuuuuuuuu hugo Ur the best ;-)
    Tuesday, May 25, 2010 1:39 AM
  • Hi, guys

             Now you don't have to compile the application against platform x86 for data accessing on x64 platform, for with the office 2010, Microsoft has delieved 64 bit ACE OLEDB Provider, it has backward compatibility, I have tried, it is working for office 2007. you can find more detail @ page http://blogs.msdn.com/b/farukcelik/archive/2010/06/04/accessing-excel-files-on-a-x64-machine.aspx

      Juan Yang

    • Proposed as answer by MrBonus Wednesday, July 21, 2010 10:52 AM
    • Marked as answer by Cindy Meister MVPMVP Thursday, October 07, 2010 10:05 AM
    Monday, July 05, 2010 2:40 AM
  • Hi, guys

             Now you don't have to compile the application against platform x86 for data accessing on x64 platform, for with the office 2010, Microsoft has delieved 64 bit ACE OLEDB Provider, it has backward compatibility, I have tried, it is working for office 2007. you can find more detail @ page http://blogs.msdn.com/b/farukcelik/archive/2010/06/04/accessing-excel-files-on-a-x64-machine.aspx

      Juan Yang

     

    AWESOME, I have been aiting for this a long time, I can see it came out in June 2010 first, but anyway this works properly :) Patience is a virtue.


    Richard

    Wednesday, July 21, 2010 10:50 AM
  • Hugo, you are simply great !!!
    Wednesday, July 28, 2010 11:09 PM
  • This did not work for me I get I cannot initialize the data source object of 'Microsoft.ACE.OLEDB.12.0' for linked server "(null)".

    I downloaded the update and everything in the instructions went well except for the last test which is running the following query

    select * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:\temp\test.xls', [Sheet1$])

    .  Made sure that the file existed I needed to assume the file needed to exist because it failed if it did not.

     

    Help

    Sorry for the LARGE font can get it back to normal

    Friday, September 10, 2010 11:20 AM
  • Changing compile option to x86 worked for me.  Thanks!
    • Proposed as answer by Matt Searles Wednesday, September 29, 2010 5:18 AM
    Tuesday, September 28, 2010 6:18 PM
  • I had to install the 64 bit ACE OLEDB provider. I had no option in SSIS to target the CPU.

    Thanks.. worked fine once installed on server.

    Thursday, October 07, 2010 10:01 AM
  • Hugo,

    It worked so fine with me!! Thanks a lot, really! :) :)

    Have a very nice day!

    Sunday, October 24, 2010 11:25 PM
  • Hi, guys

             Now you don't have to compile the application against platform x86 for data accessing on x64 platform, for with the office 2010, Microsoft has delieved 64 bit ACE OLEDB Provider, it has backward compatibility, I have tried, it is working for office 2007. you can find more detail @ page http://blogs.msdn.com/b/farukcelik/archive/2010/06/04/accessing-excel-files-on-a-x64-machine.aspx

      Juan Yang


    Unfortunately Installing "AccessDatabaseEngine" or  changing "Target CPU > x86"


    didn't help. Still  got the Microsoft.ACE.OLEDB.12.0 provider..." warning.


    Installing "accessruntime" solved my problem at last.

    http://www.microsoft.com/downloads/en/details.aspx?familyid=d9ae78d9-9dc6-4b38-9fa6-2c745a175aed&displaylang=en

    or

    http://www.microsoft.com/downloads/en/details.aspx?FamilyID=57a350cd-5250-4df6-bfd1-6ced700a6715&displaylang=en


    Wednesday, October 27, 2010 7:23 AM
  • Uggy, All,

         As you I'm working on an SSIS package. I've installed the AccessDatabaseEngine_X64 provider (I'm running W7x64), but despite that I still get this error message about Microsoft.ACE.OLEDB.12.0 not registered on the local machine   (I'm using an Excel 10 data source, but I don't think it matters for such error message)

        I notice that there is a Data Provider entry created for it created under VS10.0 but none created under VS9.0

    HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0_Config\DataProviders\{7F041D59-D76A-44ed-9AA2-FBF6B0548B80}\Specialization\Microsoft.ACE.OLEDB.12.0

           How can I register the ACE.OLEDB.12.0 for VS9.0 ?

           Related question : I try to open my SSIS solution package  with VS2010 but it can not be loaded "dtproj project file not supported". Any hints here as well.

     Pascal.

     

     

    Friday, December 03, 2010 4:26 AM
  • OK, I reply to my own question about VS2010 : The SSIS tools are specific to the version of SQL Server, therefore as I do have SQL 2008 R2, I need to use VS2008. No 2010 version of SQL

     

    Pascal.

    Friday, December 03, 2010 4:34 AM
  • I was trying to import Excel 2007 file into SQL server 2008 R2 on server that does not have Office 2007 installed and got the error

    'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine. (System.Data)

    This solution worked for me. Thank you.

    This is first time MSDN forum helped me ;)

    Tuesday, February 22, 2011 5:23 PM
  • Thanks hugo, this solved my issue... u look to be gr8!!!
    Sunday, February 27, 2011 4:01 AM
  • Thank you so much friend it enormously helped.

    Wednesday, May 04, 2011 12:14 AM
  • thatz awsome hugo...it worked...saved my precious time...thanx a lot
    Tuesday, June 07, 2011 9:01 AM
  • Thank you very much,

    İt helps me so much....

     

    Saturday, August 06, 2011 12:33 PM
  • This ones work with me. 

    Hugo thanks!

     


    Thursday, August 11, 2011 12:26 AM
  • Excellent, this really helped. Thanks alot.
    Friday, August 26, 2011 5:52 PM
  • Man, I know this topic is a little old, but I had this problem too. I download the Data Connectivity Components and it worked!! Thanks a lot!!

    Sunday, August 28, 2011 3:50 PM
  • Hi,

    I am also facing issue with MS DAC and getting "The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine" error.

    1. I tried installing MDAC 2.8

    2. Changing the build configuration to X86

    3. Registering MSjet dll files from c:\windows\system32

    NO Solution found! Please help me!

    Can any body tell me what would be wrong ? or how can we assure that the MDAC components are installed correctly or not (Registry setting / physical dll files for verification)

    Thanks in advance!

    -Suja

    Thursday, September 29, 2011 7:19 AM
  • For me the following solution worked for me i am a newbie correct me if i went wrong somewhere

    if you are using 64bit go to C:/Windows/SysWOW64/  there you can found odbcad32 run the program

    1. Add your database by clicking ADD button choose Microsoft Access Driver(*.mdb,*.accdb)

    Give the datasource name

    Click select button and browse to your database location and select it

    then your database will be shown in USER DSN

    after this try to run your code

    Tuesday, October 04, 2011 9:55 AM
    • Edited by Elaian84 Tuesday, March 06, 2012 12:43 PM update
    Tuesday, March 06, 2012 12:42 PM
  • Thttp://download.micro
    Two things you can do to solve this your problem, 1) Compile your code to target x86 or go to <a href="http://download.microsoft.com/download/2/4/3/24375141-E08D-4803-AB0E-10F2E3A07AAA/AccessDatabaseEngine_x64.exe">this site</a> and download your needed solutions from Microsoft

    soft.com/download/2/4/3/24375141-E08D-4803-AB0E-10F2E3A07AAA/AccessDatabaseEngine_x64.exe
    Sunday, March 25, 2012 10:19 PM
  • Whatever content was there is gone. Do you have the info or other source?
    Wednesday, August 29, 2012 7:06 PM
  • This solutions worked for me. Thank You Hugo.

    I had the same situation.

    Thank You

    Mohan

    Friday, August 31, 2012 1:49 AM
  • Hi, I just mee the same error, i installted Microsoft Access Database Engine 2010 Redistributable.

     envirment: 32-bit Access 2010 + 64-bit app, 

    Can 64-bit app connect 32-bit access?  

    Wednesday, November 21, 2012 1:28 PM
  • Hi, I just mee the same error, i installted Microsoft Access Database Engine 2010 Redistributable.

     envirment: 32-bit Access 2010 + 64-bit app, 

    Can 64-bit app connect 32-bit access?  

    Hello all,

    I have the same issue. I have tried just about everything and nothing seems to work.

    I am running Windows 7 64 Bit, and Office 2010 Pro (32Bit) I'm trying to connect to Access and get the same error every time. 

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

    Can someone please Help?

    Osvaldo

    Tuesday, October 22, 2013 7:08 PM
  • Thanks Hugo it worked....But I want to know whether it will work when the solution is supplied as .exe file?
    Saturday, December 28, 2013 6:52 AM