none
Running Access ODBC Drivers on Windows 7 64 bit version

    Discussão Geral

  • I currently build a "classic" ASP web application that uses a backend database of MS Access through an ODBC system DSN connection.  This works fine on all 32 bit platforms from XP, Vista and I can easily configure and run it with ODBC.

    I am now trying to run the application with Windows 7 64 bit.  I have configured the 32 bit ODBC Access drivers instead of the 64 bit drivers by running the ODBC driver setup page at:

    C:\Windows\SysWOW64\odbcad32.exe

    When I try and running the web application that connects to the database, I get the error:

    Microsoft OLE DB Provider for ODBC Drivers error '80004005'

    [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application

     

    Is it possible to run the Access ODBC drivers (32 bit?) on Windows 7 64 bit?  Is there a 64 bit version of the driver available.

     



    • Tipo Alterado Zhipeng Lee segunda-feira, 2 de novembro de 2009 01:56
    terça-feira, 27 de outubro de 2009 21:01

Todas as Respostas

  • Is your web application configured to run in a 32-bit application pool? There is no direct way that 32-bit in-process components will be able to run from a 64-bit application pool (process).
    Paul ~~~~ Microsoft MVP (Visual Basic)
    quarta-feira, 28 de outubro de 2009 12:23
  • I am having the same problem as above i.e. "Microsoft OLE DB Provider for ODBC Drivers error '80004005'

    [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application" I

    Is there a way to convert the asp application from 32 bit to 64 bit?

    terça-feira, 16 de março de 2010 17:32
  • You would need a 64-bit ODBC driver to work with the 64-bit version of Microsoft OLE DB Provider for ODBC Drivers. What type of database are you working with?

    Paul ~~~~ Microsoft MVP (Visual Basic)
    terça-feira, 16 de março de 2010 19:21
  • I had a similar issue using dot net code. Not certain how you would change the settings in ASP Classic, however once I set my project to run as 32 bit the code ran successfully.

    Read More here
    quinta-feira, 18 de março de 2010 15:38
  • Thanks a lot John. I activated 32 bit option below 64 bit option in ASP options in IIS and now my ASP code and Access database is working.
    quinta-feira, 18 de março de 2010 17:29
  • Thanks a lot John. I activated 32 bit option below 64 bit option in ASP options in IIS and now my ASP code and Access database is working.


    This is exactly the problem I am having, however I cannot find where to implement your solution.  Can you please be a little more specific and point me to the "32 bit option ....."

     

    Thanks!

    segunda-feira, 22 de março de 2010 20:57
  • Thanks a lot John. I activated 32 bit option below 64 bit option in ASP options in IIS and now my ASP code and Access database is working.


    This is exactly the problem I am having, however I cannot find where to implement your solution.  Can you please be a little more specific and point me to the "32 bit option ....."

     

    Thanks!


    Took me ages to track this down but found this page to be helpful in getting this set to run in 32-bit:

    http://learn.iis.net/page.aspx/201/32-bit-mode-worker-processes/

    From the site (I used the first option):

    One of the performance benefits of the x64 platform is that it increases virtual address space, making more memory available. We recommend that you configure IIS to use a 32-bit worker processes on 64-bit Windows. Not only its compatibility better than the native 64-bit, performance and memory consumption are also better.

    Set the Web server to enable this globally so that you do not need to set it for each application pool. Unlike previous versions of IIS, you can now configure specific worker processes to run in 32-bit or 64-bit mode independently of each other on the same server.

    To configure 32-bit mode for the server

    • Open a command prompt and run the following:
    %windir%\system32\inetsrv\appcmd set config -section:applicationPools -applicationPoolDefaults.enable32BitAppOnWin64:true

    Note: This setting applies only to 64-bit servers.

    To configure 32-bit mode for the server using the IIS PowerShell Provider

    • Open a PowerShell prompt and run the following:
    set-itemproperty iis:\ -name applicationPoolDefaults.enable32BitAppOnWin64 -value true
    quarta-feira, 31 de março de 2010 17:36
  • I had this problem, but, for some reason, running the above command gave me insufficient permission error (I believe this is because I moved defatul directory from inetpub\wwwroot). So I did this:

    Run IIS Admin, and under Configuration Editor expand ApplicationPoolDefaults . There you'll see Enable32BitAppOnWin64 (under CPU). Set this to TRUE and presto!

    quinta-feira, 8 de abril de 2010 02:53
  • This worked for me too!

    However, a clarification - open IIS manager > click Application Pools (under connections on the LH side) then > click Set Application Pool Defaults (under actions on the RH side) expand the General items and change Enable 32-Bit Applications to TRUE

    sexta-feira, 30 de abril de 2010 00:06
  • I am trying also trying to run an MS Access Databse through my website. I have done it on different websites before however, this currenct website is also running OWA

    When I can create a 32 Bit app pool in the same website. However, when I try to open the page I get the following error:

    HTTP Error 500.0 - Internal Server Error

    Calling LoadLibraryEx on ISAPI filter "C:\Program Files\Microsoft\Exchange Server\ClientAccess\owa\auth\owaauth.dll" failed

    Module IIS Web Core
    Notification Unknown
    Handler ASPClassic
    Error Code

     

    0x800700c1

     

    I haven't a clue how to work around. I know this is the issue because I can get the page to load fine in 64 bit mode but cant insert data into my database.

    Has anyone else ran into this issue??

     

    Thanks a million!

    quarta-feira, 5 de maio de 2010 18:56
  • I AM USING NEYTBEANS AND  I AM NOT ABLE TO CONNECT MY MDB DATABASE IN WIN7HOMBASIC64 BIT PLEASE TELL ME HOW TO  INSTAALL ODBC DRIVERS IN WIN7HOME BASIC 64 BIT FOR MDB
    domingo, 5 de setembro de 2010 10:40
  • Karku, run C:\Windows\SysWOW64\odbcad32.exe
    quarta-feira, 5 de janeiro de 2011 15:21
  • Thank you!

    Worked perfectly for me after hours of searching for a solution.

    Microsoft: Why make it so difficult to use? Security issues?

     

    sexta-feira, 7 de janeiro de 2011 08:40
  • Hey gas29, how you found the solution fr odbc 32 bit to be run windows 7 64 bit. I am facing same problem fr my project made in netbeans and database in sql server 2005
    domingo, 13 de março de 2011 11:53
  • Thanks so much OneBigCerito!!! 

    Your advice to use:

    C:\Windows\SysWOW64\odbcad32.exe

    solved the ODBC connection error for me. 

     

    I had my Application Pool set to enable 32 bit in IIS, but I used the ODBC setup GUI that was under Administrative Tools.  The DSN setup under the ODBC GUI from Administrative Tools threw the error.  However, the ODBC GUI from the path that you provided worked!

     

    sexta-feira, 1 de abril de 2011 00:31
  • Paul:

    Thx for your post.  I am currently getting this message.  I am using the 32-Bit ocdcad23.exe and a driver called AcuXdbc from Microfocus to connect to their files residing on a Linux platform.  All is well on XP client and 32 bit.  On a 64bit Windows 7 client I get this same message.  I'm executing a very simple program in VB 2005 as follows:

         Dim cn As Odbc.OdbcConnection

            cn = New Odbc.OdbcConnection

            cn.ConnectionString = ("dsn=ALLCO;uid=system;pwd=manager;")

            Dim mystring As String = "Select * from chpydbxcl"

            Dim cmd As Odbc.OdbcCommand = New Odbc.OdbcCommand(mystring)

            cn.Open()

            MsgBox("Connected")

     The error occurs on the cn.Open line.

    On this same 64bit Win7 machine, the DSN works in Excel 2010 and brings over data.  Also in VB 2005, I can define a connection and Table Adaptor and execute the preview of the GetData method and it reads the data with the same DSN.  I will however get the same message if I drop the dataset on a form.  I cannot get a 64 bit version of Acuxdbc.  Is there some possible workaround you know of? 

    Also I am referencing the .NET Microsoft.Data.Odbc dll to connect to the DSN.

    Jose

     

     


    quarta-feira, 6 de abril de 2011 16:07
  • Did you set the Platform option (Build...Configuration Manager) to x86? This will compile the app so that it runs 32-bit in a 64-bit OS.
    Paul ~~~~ Microsoft MVP (Visual Basic)
    quarta-feira, 6 de abril de 2011 16:33
  • thank you - that worked.  I had looked at this before but was not sure what to do - when you try to enter x86 it asks you if you should copy the settings from Any Cpu, and I thought that was suspicious so I didn't do it.  Thanks for the affirmation.  It works GREAT!

     

    Jose


    Jose Forcade
    quarta-feira, 6 de abril de 2011 17:12
  •  

    Dear Kansaiben,

    thanks alot!!!!

    you save dmy life with a one-line command!!!

     %windir%\system32\inetsrv\appcmd set config -section:applicationPools -applicationPoolDefaults.enable32BitAppOnWin64:true

     

    again...

    thanks...

    st

     

    =======================================

     

    To configure 32-bit mode for the server

    • Open a command prompt and run the following:

    %windir%\system32\inetsrv\appcmd set config -section:applicationPools -applicationPoolDefaults.enable32BitAppOnWin64:true

    Note: This setting applies only to 64-bit servers.

    quinta-feira, 13 de outubro de 2011 19:43
  • To configure 32-bit mode for the server

    • Open a command prompt and run the following:

    %windir%\system32\inetsrv\appcmd set config -section:applicationPools -applicationPoolDefaults.enable32BitAppOnWin64:true

    i am still having problem with above command

    this error occured
    "window\system32\inetsrv\appcmd' is not recognised as an intermal or external command, operable program or batch file"

    what shall i do know pls tell me

    segunda-feira, 17 de outubro de 2011 06:54
  • I have similar problem with Ms Access 2007

    I'm using Access2007 32bit into Win2008 or Win7 64bit. Itry to connect to my oracle database through connection strin

        Dim connString
        connString = "DSN=DSNName32bit;Uid=user;Pwd=password"
        cnDanaos.Open connString

    and I receive the following error:

    [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application

    What I have to do?

    Michael

    sábado, 22 de outubro de 2011 05:30
  • This error occurs because the application that you are running is compiled as a 64bit application. Specifically, the Oracle app you are running is running as a 64bit app. (THE OS DOES NOT MATTER)

    The DSN you are attempting to use is using a 32bit driver.  The two are incompatible.  To make it work, you must either

    a) compile your application as a 32bit application (or use the 32bit version of it),

    b) find the 64bit drivers to create the DSN in the 64bit world (the Office 2010 redistributable access odbc drivers, but you can't have Office2010 32bit version installed),

    c) see if your application has some type of 32bit switch that makes it run in 32bit.

     

    Unfortunately, MS has walked away from this problem, and orphaned Access (maybe not the worst thing in the world.)

     

    Jim


    • Editado JMoney64 segunda-feira, 24 de outubro de 2011 22:35
    segunda-feira, 24 de outubro de 2011 22:31
  • My IIS manger was off in windows features so I didn't find it in aministrative tools. I fix "The specified DSN contains an architecture mismatch between the Driver and Application" with uninstalling jdk x64 and installing jdk x84. 
    sábado, 4 de fevereiro de 2012 10:31
  • I have had the same problem, tried the fix thru the IIS administrator but I am still having a problem.  The ODBC 32 bit is now being pointed to but it assigns an extra file extension.  I am using MS Access 2010 with Dreamweaver CS5.5 

    I can see my database in Dreamweaver but when I try to view the results live I get the error:

    ---------------------

    Microsoft OLE DB Provider for ODBC Drivers error '80004005'

    [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

    /test020912.asp, line 9

    Line 9 is :  Recordset1_cmd.ActiveConnection = MM_connArchives2_STRING

    ----------------------

    When I check the ODBC 32 bit DSN, it shows that it is trying to connect to   "W:/mydatabase.accdb.mdb"

    I chose the "W:/mydatabase.accdb"  so it is adding the extra exenstion.

    How do I stop it from adding the extra .mdb?

    quinta-feira, 9 de fevereiro de 2012 22:20
  • Just an FYI, it's usually best to post a new question since many will not see a question posted in an old thread.

    In any event, make sure that you are selecting the correct driver from the Create New Data Source dialog in the ODBC Data Source Administrator applet. There is an ODBC driver for Jet and one for ACE. Select the ACE ODBC driver, which is displayed with both the .mdb and .accdb extension.


    Paul ~~~~ Microsoft MVP (Visual Basic)


    sexta-feira, 10 de fevereiro de 2012 19:22
  • Thank you Paul.  I did select the driver that had the .mdb & .accdb extension - are there two of those?

    I appreciate your feedback!!!

    Barbara

    terça-feira, 14 de fevereiro de 2012 15:41
  • No, there is the Jet version which only supportes .mdb and the ACE version which supports .mdb and .accdb. I created a DSN using the ACE version but I don't see a .mdb extention for the database when I look at the DSN configuration.


    Paul ~~~~ Microsoft MVP (Visual Basic)

    quarta-feira, 15 de fevereiro de 2012 14:29
  • Is the ODBC driver required or can the MSDASQL driver work for the 64 bit?  64 bit driver was mentioned before in this post but here it is again.

    http://www.microsoft.com/en-us/download/details.aspx?id=23734


    R, J


    • Editado Crakdkorn quinta-feira, 5 de julho de 2012 23:14
    quarta-feira, 7 de março de 2012 13:29
  • I am currently using lotus notes and i wanted to create new odbc connection with help notes sql.

    I am getting below error while creating new odbc connction

    The setup routines for the lotus Notes SQL driver (*.nsf)ODBC driver could notbe loaded due to system error code 126: The specified module could not be found. (C:NotesSQL\nsqlc32.dll)

    Can anyone help on this ...?

    quarta-feira, 4 de abril de 2012 06:33
  • Hello K Pandey,

    Do you have modified your set vars path to inculde  ;C:\NOTESSQL\;C:\LOTUS\NOTES\ ? (in this exemple, Notessql is installed in C:\notessql\and Notes c:\lotus\notes\)

    For me it works in 32 bits plateform (windows 2003 and Windows 7)

    But not works in 64 bits plateform (Windows 2008 R2) even if I use the famous tool in "C:\Windows\SysWOW64\odbcad32.exe"

    I use NOTESSQL V8.0 to retrieve data informations from nsf database into SQL SERVER Database through servers linked...

    Hope have helped you more...

    quinta-feira, 3 de maio de 2012 07:55
  • I'm happy this worked for you, may I ask ... what was your problem?

    Thanks.

    quarta-feira, 9 de maio de 2012 22:51
  • Dear all,

    I am using Win7 64 bits and i am starting learn how to work with Crystal Reports and for that i need to have on my ODBC drivers, one that is not there .. Access driver .. how i can get that and put it on?

    At the moment i only have these drivers installed:

    MySQL ODBC 5.1 Driver 

    SQL Server ..

    but i need others such:

    Drivers for Microsoft Access; Driver for Microsoft Excel ; Drivers for Microsoft VisualFoxPro etc etc .. How can i install this drivers .. Please help is needed here!

    quinta-feira, 28 de junho de 2012 14:01
  • Dear all,

    I am using Win7 64 bits and i am starting learn how to work with Crystal Reports and for that i need to have on my ODBC drivers, one that is not there .. Access driver .. how i can get that and put it on?

    Drivers for Microsoft Access; Driver for Microsoft Excel ; Drivers for Microsoft VisualFoxPro etc etc .. How can i install this drivers .. Please help is needed here!

    In the future you need to post a new question. See the below links for the latest Access and VFP drivers:

    http://www.microsoft.com/en-us/download/details.aspx?id=13255

    http://msdn.microsoft.com/en-us/vfoxpro/bb190232.aspx


    Paul ~~~~ Microsoft MVP (Visual Basic)

    quinta-feira, 28 de junho de 2012 14:29
  • This worked perfect on locating an oracle lite driver.  Added the driver from the list and made the connection.  Great post!  Thank you!
    quinta-feira, 5 de julho de 2012 16:54