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

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

  • Wednesday, January 10, 2007 4:14 PM
     
     

    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

     

     

     

All Replies

  • Wednesday, January 10, 2007 5:30 PM
    Moderator
     
     

    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, September 19, 2007 4:25 PM
     
     
    hi laindowns,
    please help me, i am also facing the same problem.
    u solved this issue?

    thanks
    Praveen
  • Monday, November 19, 2007 7:08 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
  • Friday, January 22, 2010 11:25 PM
     
     Answered
  • Tuesday, March 09, 2010 2:55 PM
     
     Proposed Answer
    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
    •  
  • Monday, April 05, 2010 2:44 AM
     
     

    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!

  • Friday, April 16, 2010 10:55 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?
  • Monday, May 03, 2010 5:27 AM
     
     
    Thanks a lot it really works
  • Tuesday, May 25, 2010 1:39 AM
     
     
    thank youuuuuuuuu hugo Ur the best ;-)
  • Monday, July 05, 2010 2:40 AM
     
     Answered

    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

  • Wednesday, July 21, 2010 10:50 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 28, 2010 11:09 PM
     
     
    Hugo, you are simply great !!!
  • Friday, September 10, 2010 11:20 AM
     
     

    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

  • Tuesday, September 28, 2010 6:18 PM
     
     Proposed Answer
    Changing compile option to x86 worked for me.  Thanks!
    • Proposed As Answer by Matt Searles Wednesday, September 29, 2010 5:18 AM
    •  
  • Thursday, October 07, 2010 10:01 AM
     
     

    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.

  • Sunday, October 24, 2010 11:25 PM
     
     

    Hugo,

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

    Have a very nice day!

  • Wednesday, October 27, 2010 7:23 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


    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


  • Friday, December 03, 2010 4:26 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:34 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.

  • Tuesday, February 22, 2011 5:23 PM
     
     

    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 ;)

  • Sunday, February 27, 2011 4:01 AM
     
     
    Thanks hugo, this solved my issue... u look to be gr8!!!
  • Wednesday, May 04, 2011 12:14 AM
     
     

    Thank you so much friend it enormously helped.

  • Tuesday, June 07, 2011 9:01 AM
     
     
    thatz awsome hugo...it worked...saved my precious time...thanx a lot
  • Saturday, August 06, 2011 12:33 PM
     
     

    Thank you very much,

    İt helps me so much....

     

  • Thursday, August 11, 2011 12:26 AM
     
     

    This ones work with me. 

    Hugo thanks!

     


  • Friday, August 26, 2011 5:52 PM
     
     
    Excellent, this really helped. Thanks alot.
  • Sunday, August 28, 2011 3:50 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!!

  • Thursday, September 29, 2011 7:19 AM
     
     

    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

  • Tuesday, October 04, 2011 9:55 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, March 06, 2012 12:42 PM
     
     
  • Sunday, March 25, 2012 10:19 PM
     
      Has Code
    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
  • Wednesday, August 29, 2012 7:06 PM
     
     
    Whatever content was there is gone. Do you have the info or other source?
  • Friday, August 31, 2012 1:49 AM
     
     

    This solutions worked for me. Thank You Hugo.

    I had the same situation.

    Thank You

    Mohan

  • 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?