Missing ACCDB database drivers - ms-access

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.

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.

Downloading from the Microsoft Access Database Engine 2016 Redistributable at https://www.microsoft.com/en-us/download/confirmation.aspx?id=54920 also worked for me. It may go without saying, but I think it's worth noting that if your application/executable uses 32-bit drivers and you download the 64-bit Access Database Engine, the 32-bit application/executable may not recognize the Microsoft Access Database (*.mdb, *.accdb) driver.

Related

ODBC driver is missing

I am using microsoft office 365 pro plus (2016)
I am trying to install Microsoft access driver *.accbd in ODBC data source administrtor.
I installed Micorsoft access database engine 2016 , After that i can see the driver .mdb but not the .accdb
I went to C:\windows\syswow64 and ran the odbcad32 as an administrtor but even though the .accdb is not listed.
What else i can do to make it work?
I have just found out that the .accdb drivers installed on system32 folder. So when i access the odbc data source manager from system32 folder then it works.
I still do not know how i can have them on SysWOW64 folder.
i'm not able to add comment to your answer, so i'll post it as an "answer".
There are two versions of odbc administrator on windows 7 and up, 32bit and 64bit,
you may need to make sure the right one is running, depends on your OS.
take a look here,
https://www.yellowfinbi.com/resources/forum/yfforum-how-do-i-setup-the-dsn-for-microsoft-access-odbc-driver-thread-103711

Trying to connect to an access with a UDL file

I'm trying to connect to an Access database via a UDL file. I'm wanting to generate a connection string so that I can connect to an access database via ADO.NET. It's been a few years since I've tried to do this.
I have Visual Studio 2015 Pro and Microsoft Access 2016 installed on my Windows 10 x64 pro machine. When I create a .udl file I have the following available options:
Microsoft OLE DB Provider for ODBC Drivers
Microsoft OLE DB Provider for Search
Microsoft OLE DB Provider for SQL Server
Microsoft OLE DB Simple Provider
MSDataShape
OLE DB Provider for Microsoft Directory Services
SQL Server Native Client 11.0
I think that in years past I would also see Microsoft Jet 4.0 OLE DB in this list. From the research I've done I think that Jet 4.0 is deprecated and that I should be using the Access Database Engine. I find the following versions that I think are that:
Microsoft Access Database Engine 2010 Redistributable
Microsoft Access 2013 Runtime
Microsoft Access 2016 Runtime
I downloaded the x64 version of Microsoft Access 2016 Runtime and when I try to install it I get the following error:
We can’t install the 64-bit version of Office because we found the following 32-bit programs on your PC:
Office 16 Click-to-Run Extensibility Component
Please uninstall all 32-bit Office programs, then retry installing 64-bit Office. If you want to install 32-bit Office instead, please run the 32-bit setup.
I've tried the 32-bit version of the Microsoft Access 2016 Runtime and I get the same message:
We can’t install the 32-bit version of Office because we found the following 64-bit programs on your PC:
Office 16 Click-to-Run Extensibility Component 64-bit Registration
Please uninstall all 64-bit Office programs, then retry installing 32-bit Office. If you want to install 64-bit Office instead, please run the 64-bit setup.
I've tried closing all open Microsoft Office and Visual Studio applications and I get the same error. Am I installing the right component? Any way to get it to install correctly?
You probably miss the ACE driver listed here - and only this, not the runtimes:
Microsoft Access Database Engine 2010 Redistributable

pyodbc connection to mdb file

I am trying to connect pyodbc to an mdb file. I have searched this site and tried a number of things without success. Here is an overview of my system.
Windows 7 Ultimate Service Pack 1
64 Operating System
Python 3.4.0 installed in C:\Python34\ installed using python-3.4.0.amd64.msi
pyodbc 3.0.7 installed using pyodbc-3.0.7.win-amd64-py3.4.exe
Installed AccessDatabaseEngine.exe 14.0.6119.5000 MS 2007 Office System Driver
Control Panel\All Control Panel Items\Administrative Tools Data Sources (ODBC) set to %windir%\SysWOW64\odbcad32.exe
Permissions in the Registry for my user profile set to Full for Microsoft Access Driver (*.mdb, *.accdb)
The code that I am using is:
import csv, pyodbc
conn=pyodbc.connect('Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=c:\MDBTest\MyTestMdb.mdb;')
The error that I continue to get using a number of variations of the code is:
conn=pyodbc.connect('Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=c:\MDBTest\MyTestMdb.mdb;')
pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
Thanks in advance for your help.
You are using a 64-bit version of Python but you have the 32-bit version of the Access Database Engine installed. You either need to
run a 32-bit version of Python, or
remove the 32-bit version of the Access Database Engine and install the 64-bit version (available here).

My c# application cannot connect to database on window7 64bit with microsoft access database engine 2010 32bit

I'm working with
1) Window7 32bit
2) VS 2005
3) language: C#
I made an application that connects to an Access file and deployed the applicatioin with Clickonce on my computer.
I published in release/any cpu mode.
The prerequisites was .Net Framework 2.0.
When I installed the appliction on another computer (Window7 64bit, MS Access Database Engine 2010 32bit), an error occurred.
The error message was Cannot Connect to Database.... System.Data.
My connection string is Provider=Microsoft.ACE.OLEDB.12.0;Data Source=....
64-bit and 32-bit components don't play well together.
I had a similar issue with 64-bit Windows and a 32-bit ODBC driver. You most likely need the 64-bit version of the Access database driver.

dsn for ms access 2003 in windows 7

I am trying to create a dsn for ms access in windows 7. But its showing:
"The setup routines for the Microsoft Access Driver(*.mdb) ODBC driver could not be found.Please reinstall the driver. " and
"Error found:
The specified DSN contains an architecture mismatch between the Driver and Application."
I am using Microsoft Office 2003 version. I have tried to run C:\Windows\SysWOW64\odbcad32.exe also. But still getting this error. Now can anyone please suggest me to solve this error..
Thanks
You can run the setup again for Office 2003 and make sure to install the appropriate ODBC drivers:
http://answers.microsoft.com/en-us/windows/forum/windows_7-hardware/no-odbc-drivers-available-for-excel-or-access-in/001c234b-dfd5-4378-a325-c4f1482fb6fd
If you open ODBC, you should be able to the full list of drivers installed and verify that either the older ones from Office 2003, or the newer ones you installed, are available. If they are, you can create a new ODBC DSN or edit the existing one to point to the drivers you want.