## page was renamed from Microsoft_Access
#pragma section-numbers off
= Microsoft Access mdb and accdb Database =
 URL:: http://office.microsoft.com/en-us/access/
 Licence:: Commercial/Proprietary software
 Platforms:: Windows

== Pros ==
 * Widely used by end users.
 * It comes with the GUI tools,and very user friendly.

== Cons ==
 * Windows only.

----

== DB API 2.0 Drivers ==
=== PyPyODBC (Pure Python) ===
 URL:: http://code.google.com/p/pypyodbc
 License:: MIT
 Platforms:: Windows, Linux
 Python versions:: 2.4 - 3.4

PyPyODBC is a pure Python script module providing ODBC interfacing functions, it runs on CPython / IronPython / PyPy , Version 2.4 / 2.5 / 2.6 / 2.7 , Win / Linux , 32 / 64 bit.

However, '''''on Windows Platform''''', PyPyODBC also provides a set of methods bringing [[https://code.google.com/p/pypyodbc/wiki/pypyodbc_for_access_mdb_file|PyPyODBC's extra support for Access on Windows Platform]]

=== mxODBC ===
 URL:: http://www.egenix.com/
 License:: eGenix.com Commercial License
 Platforms:: Windows, Unix
 Python versions:: 2.4 - 2.7

On Windows, you can use mxODBC with the ODBC driver that comes with MS Access, or use the ODBC driver that comes with the [[http://www.microsoft.com/downloads/details.aspx?familyid=78CAC895-EFC2-4F8E-A9E0-3A1AFBD5922E&displaylang=en|MDAC 2.8 SP1 database access package]], if you don't have MS Access installed on the machine.

On Unix platforms, you can use one of the ODBC drivers available from commercial ODBC vendors. If you only need to query data from MS Access files, you can also have a look at the very limited ODBC driver that comes with the [[http://mdbtools.sourceforge.net/|MDBTools]]. This works reasonably well to extract data from the MS Access files.

=== mxODBC Connect ===

 URL:: http://www.egenix.com/products/python/mxODBCConnect/
 License:: eGenix Commercial License 1.3.0
 Platforms:: Client: all Python platforms; Server: Windows, Linux
 Python versions:: 2.5 - 2.7

mxODBC Connect is a commercial client-server product that allows connecting Python to ODBC compatible databases running on remote servers without requiring an ODBC driver on the client side. The product uses mxODBC on the server side and provides a highly portable Python library for the client side. As such it supports all database backend that mxODBC supports, but allows connecting to these from many different Python-supported platforms.

mxODBC Connect supports asynchronous query execution via the popular [[http://www.gevent.org/|gevent package]], provides secure certificate based authentication, SSL encrypted database connections, comes with full support for stored procedures, multiple result sets, Unicode, a common interface on all platforms and implements [[http://www.egenix.com/products/python/mxODBCConnect/#Features|many other useful features]].

mxODBC Connect Server is compatible with the MS Access ODBC driver on Windows and allows both reading and writing to MDB/ACCDB Access files. Provided you have a Windows server available to run those drivers, you can then work with MS Access database files from any Python platform using the mxODBC Connect Client.