none
Microsoft.ACE.OLEDB.12.0

    Question

  • I created a database program when I used Windows XP and now I'm using Vista x64. When I try to run my program I get error message "Microsoft.ACE.OLEDB.12.0-provider is not registerd on your computer. I have looked for solutions everywhere but the only thing I found was for Visual Studio. I have only Visual Basic express 2008 installed.
    Friday, June 20, 2008 1:32 PM

Answers

  • Question: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered error with Vista 64bit


    Hi Tore,

    Please try this solution:

    If you're getting this error while trying to connect to Access 2007 or Excel 2007 via the Office 12 OleDB provider, you must first make sure you have the Office 2007 data providers installed.

    Next, under x64 (64bit), the data providers will not work by default as they are 32-bit only (x86), even if the data providers download page doesn't say it. You have to explicitly compile for x86 instead of the default "Any CPU" platform:

    The solution is to add a new configuration for x86 platform in VS (click on Configuration Manager shown above), and build with explicit x86 target platform. This will force 32bit runtime and therefore will be able to load the provider on the 32 bit process.


     

    Trackback: http://www.clariusconsulting.net/blogs/kzu/archive/2007/11/15/41639.aspx


    Best regards,
    Martin Xie

    Wednesday, June 25, 2008 11:36 AM

All replies

  • Question: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered error with Vista 64bit


    Hi Tore,

    Please try this solution:

    If you're getting this error while trying to connect to Access 2007 or Excel 2007 via the Office 12 OleDB provider, you must first make sure you have the Office 2007 data providers installed.

    Next, under x64 (64bit), the data providers will not work by default as they are 32-bit only (x86), even if the data providers download page doesn't say it. You have to explicitly compile for x86 instead of the default "Any CPU" platform:

    The solution is to add a new configuration for x86 platform in VS (click on Configuration Manager shown above), and build with explicit x86 target platform. This will force 32bit runtime and therefore will be able to load the provider on the 32 bit process.


     

    Trackback: http://www.clariusconsulting.net/blogs/kzu/archive/2007/11/15/41639.aspx


    Best regards,
    Martin Xie

    Wednesday, June 25, 2008 11:36 AM
  • Hi Martin,

    I have Access 2000 db. My application is installed on 64 bit Windows 7 OS. not able to connect to access file. i get "microsoft.ace....." provider error.

    The application was developed in VS2008 with framework 3.5. have also followed the steps mentioned by you.

    Please help.

    Thanks,
    kp
    Tuesday, February 02, 2010 3:26 PM
  • If Office 2007 is not installed then you need to install the Office 2007 Data Connectivity components:

    http://www.microsoft.com/downloads/details.aspx?FamilyID=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en

    After installation you can proceed with Martin's instructions.

    In addition, there is now a 64-bit release version of the ACE Provider for Office 2010:

    http://www.microsoft.com/downLoads/details.aspx?familyid=C06B8369-60DD-4B64-A44B-84B371EDE16D&displaylang=en


    Paul ~~~~ Microsoft MVP (Visual Basic)
    Tuesday, February 02, 2010 5:00 PM
  • I can see how to set VS to use the 32 bit version, and it is great that they are coming out with a 64 bit version in Office 2010, but what about Office 2007. I make use of UDL files to direct my .Net application, and on my Windows 7 64bit OS it comes up with no 12.0 selection. Does Microsoft plan to make a 64bit version for Office 2007 as we won't be moving off of this platform any time soon. Does anyone know a way to force the UDL file to look for 32bit connectivity components. The UDL file makes it so easy for users to point to the proper database (wherever they need to store it). It will be disappointing to have to stick with 32 bit OS and apps when these great new machines are out. Thanks for any suggestions.

    Bill Gregg
    Sunday, February 21, 2010 11:54 PM
  • AFAIK, you can use the 64-bit ACE provider with a previous version of a Microsoft Access database.

    I don't use UDL files but I would think they would work (with the 32-bit provider) if your app targets the 32-bit (x86) platform. If the app is running 64-bit you certainly don't want it to be looking for 32-bit components because they cannot loaded in the same process. That scenario simply will not work.

    Also, something to keep in mind when working with a 32-bit UDL on a 64-bit system:

    http://blogs.msdn.com/farukcelik/archive/2007/12/31/udl-test-on-a-64-bit-machine.aspx


    Paul ~~~~ Microsoft MVP (Visual Basic)
    Monday, February 22, 2010 12:27 AM
  • Visual Basic 2008 Express Edition -

    Follow steps:

    1) Tools > Options > Projects and Solutions > General   CHECK --> "Show advanced build configurations"

    2) Build > Configuration Manager    "Active Solution Platform" = "new" Choose "x86"

    Good to go for current project...

    Wednesday, April 28, 2010 1:35 AM
  • Thanks alot for your help....It really worked for me for Windows 7, MS Access 2007 and the tool i am using is Visual Basic 2008 Express Edition
    Wednesday, May 19, 2010 6:55 PM
  • I have the same problem with SQL Server 2008 R2 installed (it includes VS 2008). However, I do not have the option of changing the Platform (under the Build > Configuration Manager ....). It does not have the drop down list and no matter.

    What should I do?

    Friday, June 25, 2010 2:39 PM
  • If you look at Martin's example you can see where the x86 Platform can be added to the drop down.
    Paul ~~~~ Microsoft MVP (Visual Basic)
    Friday, June 25, 2010 4:25 PM
  • Thanks Paul. Yes, I found the menu but as I said there is no drop down list. See the picture here: http://img821.imageshack.us/f/platform1.jpg/

    Can this be another bug in the SQL server 2008 R2 (with VS 2008)? I have no option of selecting platform.

    Friday, June 25, 2010 5:43 PM
  • I don't know much about Analysis Services projects. Does this create a standalone Windows application? If not, then that would explain why there is no x86 option since the host application would determine whether the code runs as 32 or 64-bit.
    Paul ~~~~ Microsoft MVP (Visual Basic)
    Friday, June 25, 2010 7:38 PM
  • Paul,

    Thanks for the prompt answer. So if I have a Windows 7 64 Bit system with SQL Server 2008 R2 installed which includes VS 2008 I cannot establish a connection to a simple Access database sitting on the desktop of the very same computer? (Note that I use Office 2010 64 bit)

    I downloaded from Microsoft the 64 bit Access (Microsoft.ACE.OLEDB.14.0)  drivers since I cannot even put on the 32 bit because we use Office 2010 64 bit.

    I went through all the posting and could not find a solution.

    Let me summarize a simple scenario:

    1) I have: a) Windows 7 64bit Pro, b)SQL Server 2008 R2 including VS 2008, c) Office 2010 64bit, and d) installed AccessDatabaseEngine_X64 (from MS).

    2) I have an ACCESS database copied on desktop of the very same computer

    3) I would like to establish a database connection to the ACCESS database on the desktop

    How should I do it? I cannot change the Platform as you can see from the picture.

     

     

    Friday, June 25, 2010 9:52 PM
  • 是64位的机器问题,需要安装64位64-bit release version of the ACE Provider for Office 2010:

    给我写信: QQ我:点击这里给我发消息

    Sunday, June 16, 2013 5:36 AM