Search code examples
ms-accessodbc

Missing ACCDB database drivers


Please explain this one to me ....

I am on a x64 bit computer (well, not literally standing on it :) ). And I have Office x64 installed, including x64 Microsoft Access.

Using Access I can open ACCDB and MDB files. yet, if I run the x64 ODBC Drivers component there is NO Microsoft Access Database (*.mdb, *.accdb) driver listed.

The only way I can get it listed is if I install the x64 Access 2013 Runtime. Then it shows up.

Why is it not showing if I have access only installed?

Basically, I am trying to detect if my own executable is going to be able to open the ACCDB database OK. I do that by examining what drivers are installed.


Solution

  • I had the same problem on a 64 bit Windows 10 system with 64 bit Office 2016. I was missing 64 bit ODBC Access drivers. Listing drivers (from Python's pyodbc module) showed only:

    • 'SQL Server'
    • 'PostgreSQL ODBC Driver(ANSI)'
    • 'PostgreSQL ODBC Driver(UNICODE)'

    I installed the Microsoft Access Database Engine 2016 Redistributable from Microsoft's site and it came with the extra drivers needed. I could then list:

    • 'SQL Server'
    • 'PostgreSQL ODBC Driver(ANSI)'
    • 'PostgreSQL ODBC Driver(UNICODE)'
    • 'Microsoft Access Driver (*.mdb, *.accdb)'
    • 'Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)'
    • 'Microsoft Access dBASE Driver (*.dbf, *.ndx, *.mdx)'
    • 'Microsoft Access Text Driver (*.txt, *.csv)'

    And I was able to query an accdb file using the ODBC drivers from Python.