Differences between revisions 1 and 19 (spanning 18 versions)
Revision 1 as of 2013-08-04 03:11:59
Size: 2344
Editor: jiangwen365
Comment:
Revision 19 as of 2014-06-07 10:50:56
Size: 3194
Comment: Add mxODBC Connect
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from Microsoft_Access
Line 2: Line 3:

= Microsoft Access =

 
URL:: office.microsoft.com/en-us/access/
  Licence:: commercial/proprietary software
  Platforms:: Windows
= Microsoft Access mdb and accdb Database =
 URL:: http://office.microsoft.com/en-us/access/
 Licence:: Commercial/Proprietary software
 Platforms:: Windows
Line 10: Line 9:

* Microsoft Access is widely used database by end users. It's very popular, and it comes with the GUI tools,and very user friendly.
 * Widely used by end users.
 *
It comes with the GUI tools,and very user friendly.
Line 14: Line 13:
Line 20: Line 18:


=== pypyodbc (Pure Python) ===

URL::
http://code.google.com/p/pypyodbc
=== PyPyODBC (Pure Python) ===
 URL:: http://code.google.com/p/pypyodbc
Line 29: Line 22:
 Python versions:: 2.4 - 3.3  Python versions:: 2.4 - 3.4
Line 31: Line 24:
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.
Line 32: Line 26:
On Windows Platform, PyPyODBC provide a set of methods to bring [[https://code.google.com/p/pypyodbc/wiki/pypyodbc_for_access_mdb_file | PyPyODBC's extra support for Access on Windows Platform]] 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]]
Line 34: Line 28:
=== mxODBC ===
 URL:: http://www.egenix.com/
 License:: eGenix.com Commercial License
 Platforms:: Windows, Unix
 Python versions:: 2.4 - 2.7
Line 35: Line 34:
PyPyODBC is a pure Python script, it runs on CPython / IronPython / PyPy , Version 2.4 / 2.5 / 2.6 / 2.7 , Win / Linux , 32 / 64 bit. 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.
Line 37: Line 36:
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.
Line 38: Line 38:
Almost totally same usage as pyodbc ( can be seen as a re-implementation of pyodbc in pure Python ). === mxODBC Connect ===
Line 40: Line 40:
Simple - the whole module is implemented in a single python script with less than 3000 lines.  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
Line 42: Line 45:
Built-in Access MDB file creation and compression functions on Windows. 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.
Line 44: Line 47:
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]].
Line 45: Line 49:

=== ODBC ===

It is possible to connect to an SQL Server database using ODBC, either the mxODBC driver or the one included with Win32all. However, this is not recommended - adodbapi is a better solution, in part because it supports unicode.

''Comment:'' This is actually not true at all: ODBC is the native API used for SQL Server and does support Unicode all the way. In fact, ODBC is the preferred way of accessing SQL Server if you care for performance. Microsoft has just released the [[http://msdn2.microsoft.com/en-us/data/aa937733.aspx|SQL Server Native Client]] which is an extended ODBC driver for SQL Server. ADO is just a layer on top of the ODBC interface and a lot slower as a result. See e.g. [[http://www.microsoft.com/technet/prodtechnol/windows2000serv/technologies/iis/reskit/iischp7.mspx|MS TechNet]] for a comparison of ODBC, OLE DB and ADO, or [[http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/389535|this cookbook entry]].

''Comment:'' Note about the comment above -- just because it should be pointed out, mxODBC is not a free product from what I can see, and the 'cookbook entry' from 2005 referenced above indicates that it is.
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.

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 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 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 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 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 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.

Microsoft Access (last edited 2014-06-07 10:50:56 by MarcAndreLemburg)

Unable to edit the page? See the FrontPage for instructions.