Installation guide
1. Introduction
1. Introduction
mxODBC has proven to be the most stable and versatile ODBC interface available
for Python. It has been in active use for more than a decade and is actively
maintained by eGenix.com to meet the requirements of modern database
applications which our customers have built on top of mxODBC.
This manual will give you an in-depth overview of mxODBC's capabilities and
features. It is written as technical manual, so background in Python and database
programming is needed.
mxODBC tries to hide many of the complicated details of the ODBC specification
from the user, but does provide access to many of the introspection APIs defined
in that standard. If you don't need introspection for your applications, you can
easily make use of mxODBC without any further knowledge of the underlying
ODBC interface.
1.1 Technical Overview
The mxODBC package provides a Python Database API 2.0 compliant interface to
databases that are accessible via the ODBC application programming interface
(API). Since ODBC is the de-facto standard for connecting to databases, this
allows connecting Python to most available databases on the market today.
Accessing the databases can be done through an ODBC manager, e.g. the ODBC
manager that comes with Windows, iODBC
or unixODBC which are free ODBC
managers available for Unix, or the DataDirect ODBC manager, which is a
proprietary ODBC manager for Unix.
The package supports parallel database interfacing, meaning that you can access
multiple different databases from within one process, e.g. one database through
the iODBC manager and another through unixODBC.
mxODBC is customizable to many different needs via configuration attributes, e.g.
you can use the Python datetime module or the eGenix.xom mxDateTime
package
for handling date/time value, eliminating the problems you often face when
handling dates before 1.1.1970 and after 2038.
It also supports the Python decimal module, long integer interfacing, Unicode,
large binary and text data, as well as stored procedures, prepared statements,
database introspection and in-flight customization of connections and cursors.
1