• Home
  • Products
    • Python
    • · mxODBC
    • · mxODBC Connect
    • · mx Base
    •   · mxDateTime
    •   · mxTextTools
    •   · mxBeeBase
    •   · mxTools
    •   · mxProxy
    •   · mxURL
    •   · mxUID
    •   · mxStack
    •   · mxQueue
    • · mx Experimental
    •   · mxNumber
    •   · mxTidy
    • · pyOpenSSL
    • · eGenix PyRun
    •   
    • Zope
    • · mxODBC Zope DA
    •   
    • Plone
    • · mxODBC Zope DA for Plone
  • Solutions
    • EMail Newsletters
    • SMS Text Alerts
  • Services
    • Custom Python Projects
    • Consulting
    • Support
  • Library
    • Presentations & Talks
    • MoinMoin Library
  • Support
    • Product Support
    • Product Updates
    • Mailing Lists
  • Company
    • About
    • Contact
    • News
    • Press
    • Partners
    • Legal
  • Shop
mxODBC
eGenix.com · Products · Python · mxODBC - Python ODBC Database Interface

mxODBC - Python ODBC Database Interface

mxODBC™ is the eGenix flagship product for connecting Python to all major databases, on all major platforms, using a Python DB-API 2.0 standard compatible ODBC interface.
Version: 3.1.2

Introduction

mxODBC™ provides an easy to use, high-performance, reliable and robust Python interface to ODBC compatible databases such as MS SQL Server and MS Access, Oracle Database, IBM DB2 and Informix , Sybase ASE and Sybase Anywhere, MySQL, PostgreSQL, SAP MaxDB and many more. It is an extension to our eGenix.com mx Base Distribution.

ODBC refers to Open Database Connectivity and is the industry standard API for connecting applications to databases. In order to facilitate setting up ODBC connectivity, operating systems typically provide ODBC Managers which help set up the ODBC drivers and manage the binding of the applications against these drivers. On Windows and Mac OS X the ODBC Manager is built into the system. On Unix platforms, you can choose one of the ODBC managers unixODBC, iODBC or DataDirect, which provide the same ODBC functionality on most Unix systems.

Databases usually ship with ODBC drivers for Windows, so it's easy to get Python connected to a database on Windows. On Linux and Mac OS X, the situation is not as bright, but getting a lot better with the growing popularity of these platforms. If you have trouble finding a database driver for your platform, try the ODBC vendor list on SQLSummit.com, or have a look at our mxODBC Connect product:

If you are looking for a remote database connectivity solution for Python, you may be interested in our mxODBC Connect product, which eliminates the need to have an ODBC driver for the client side of the application. It specializes on remote database connections such as the ones you typically find in web-applications, e.g. where multiple Linux servers need to communicate with a company database running on a Windows server.

Features

  • Python Database API 2.0 Compliance: the mxODBC API is fully Python DB-API 2.0 compatible and implements a large number of powerful extensions.
  • Support for all recent ODBC Versions: mxODBC works with ODBC drivers implementing the ODBC version specifications 2.0 - 3.8.
  • Uses ODBC 3 APIs: provided the ODBC driver is capable of using ODBC 3 APIs, mxODBC will use them for added efficiency.
  • Support for all popular ODBC Drivers: mxODBC includes adjustments and work-arounds to support MS SQL Server Native Client, MS SQL Server ODBC Driver, FreeTDS ODBC Driver, Oracle Instant Client ODBC Driver, IBM DB2 ODBC Driver, Sybase ASE ODBC Driver, Netezza ODBC Driver, Teradata ODBC Driver, PostgreSQL ODBC Driver, MySQL ODBC Driver, .MaxDB ODBC Driver as well as the ODBC driver sets of EasySoft, DataDirect, OpenLink, Actual Technologies.
  • Support for all popular ODBC Driver Managers: mxODBC comes with subpackages for the native Windows and Mac OS X ODBC managers, as well as the ODBC managers unixODBC, iODBC and DataDirect, which are commonly used on Unix systems.
  • 32-bit and 64-bit ODBC: mxODBC supports both 32-bit and 64-bit versions of the ODBC standard on all supported platforms.
  • Stable, robust and reliable:the mxODBC API has been in active production use for more than 10 years.
  • ODBC Catalog & Introspection Functions: mxODBC Client API provides methods e.g. to list tables, find column specifications, query index relationships, etc.
  • Dynamic ODBC Configuration: adjust ODBC connection parameters dynamically, e.g. set timeouts, read-only access, auto-commit, etc.
  • Full Unicode Support: use Unicode for managing text data in your client applications - even if the database does not natively support Unicode, mxODBC will automatically provide the necessary conversions on-the-fly.
  • Configurable Data Type Mappings:
    • Supports Python type binding and Database type binding for efficient data exchange.
    • Supports mxDateTime and Python's time and datetime modules for date/time value exchange.
    • Supports standard Python floats, integers, longs and Python's decimal module for loss-less numeric value exchange.
    • Supports new Python 2.7 memoryview objects.
    • Automatically handles and supports unknown data types and user data types via string conversion.
  • Full Python Support: mxODBC works with  Python 2.4, 2.5, 2.6 and 2.7.
  • Full 64-bit Support: mxODBC runs on the following 64-bit platforms: Windows, Linux, FreeBSD and Mac OS X.
  • Highly Portable Codebase: in addition to the already supported platforms for mxODBC, we provide custom porting services for more exotic platforms.
  • Easy installation: using Windows installers, our Python distutils compatible prebuilt Python packages or setuptools/zc.buildout/pip compatible egg package archives.
  • Easy configuration: use ODBC manager GUI tools for easy configuration of ODBC data sources, then access these data sources by name from Python.

System Requirements

The eGenix mxODBC distribution includes the mxODBC package needed to connect Python to an ODBC manager. However, it does not include an ODBC manager or any ODBC drivers. You have to have these installed in order to be able to use mxODBC with Python.

Windows:

On Windows, the situation is very simple: most databases come with ODBC drivers and register them with the Windows ODBC manager that's part of every Windows system.

Please consult the ODBC driver documentation for details on how to setup ODBC data sources. The mxODBC User Manual also includes a section on this topic and some helpful hints in case you run into problems.

Linux, FreeBSD, Solaris, AIX:

On Unix, you will have to install one of the popular ODBC managers iODBC or unixODBC and then register the ODBC drivers for your database with these ODBC managers.

Linux systems usually come with at least one of these ODBC managers preinstalled. Please see the mxODBC User Manual for setup instructions.

Mac OS X:

On Mac OS X, you can use the system system ODBC manager (which is a version of the popular iODBC manager).

Please see the mxODBC User Manual for setup instructions.

Licensing

The eGenix.com mxODBC Distribution is a commercial product and made available under the terms and conditions of the eGenix.com Commercial License Agreement, Version 1.3.0 (PDF file).

When purchasing a license for the mxODBC product, you will receive a digitally signed Proof of Authorization together with a license file authorizing you to install and use the product.

mxODBC is available in different editions to meet your specific needs. Please see the mxODBC Editions section for details.

Evaluation

If you would like to evaluate the eGenix.com mxODBC Distribution, please request an evaluation license or send an email to the eGenix.com Sales Team and include the following information: name of the licensee, number of evaluation licenses.

We will then send you the requested number of evaluation licenses for the mxODBC Professional Edition. The evaluation licenses have a built-in timeout of 30 days, but are otherwise fully functional.

If you are satisfied with the product, you can then proceed to the next section.

Buy Licenses

Production licenses for the mxODBC product can be bought via our eGenix.com Online Shop. Licenses are sold per Python installation. If you are installing the product on a shared server which is accessible over a network, then you have to purchase a separate license for each machine that can access the installation via this server.

For prices and volume discounts please check the mxODBC License Shop Page. We also offer site and corporate licenses. Please write to sales@egenix.com for quotes on these.

After purchase, you will receive the necessary license files from eGenix.com within two business by email to the shipping address you specified in the ordering process.

If you need to buy licenses for third parties (e.g. as contractor or reseller), please consult sales@egenix.com for instructions.

If you have questions about the ordering process, or the needed number of licenses, please write to the eGenix.com Sales Team.

mxODBC Editions

mxODBC licenses are available in different editions to meet your specific needs:

Feature
Standard Edition for ...
Professional Edition

MS SQL Server
Oracle
IBM DB2
Sybase ASE

SQL Server Support
spacer



spacer
Oracle Support

spacer

spacer
DB2 Support


spacer
spacer
Sybase ASE Support



spacer spacer
Teradata Support




spacer
Netezza Support




spacer
MySQL Support




spacer
PostgreSQL Support




spacer
MaxDB Support




spacer
MS Access Support




spacer
Support for Other Databases




spacer
Max. Number of Connections
10
10
10
10
unlimited
Number of CPUs
1
1
1
1
1

The edition features are enabled via the license files that you receive after purchase. The download packages are the same for all editions.

Standard Edition

The new low-cost Standard Edition License allows installation of mxODBC for use in one Python installation. Depending on the edition variant, it allows working with MS SQL Server, Oracle, IBM DB2 or Sybase ASE database backends only. The maximum number of connections per process is limited to 10 connections.

If you need to connect to multiple database backends, ones which are not listed here, or have a need to more than 10 connections per process, please have a look at the Professional Edition.

This edition is ideal for users who normally only work with one specific database backend.

Professional Edition

The Professional Edition License allows installation of mxODBC for use in one Python installation. There is no limitation on the database backend or the number of open connections per process - you can benefit from the full mxODBC functionality on all platforms.

This edition is ideal for users in more diverse environments and in situations where the number of connections should not be limited, e.g. in a web server environment.

Professional Edition Upgrade

The Professional Edition Upgrade License provides a way for existing mxODBC customers to upgrade their installations from mxODBC 2.0, 2.1 or 3.0 to the new version 3.1.

The license provides the same advantages as the Professional Edition License, comes at a lower cost and replaces the old CPU license of your previous mxODBC installation.

Product Development Edition

For developers who want to integrate mxODBC into an application or product, we offer a Product Development Edition License which allows royalty-free redistribution of mxODBC as part of a product built by a developer.

Developer licenses for the mxODBC product can be bought via our eGenix.com Online Shop. Licenses are sold per developer and product, e.g. if you have one developer working on two products integrating mxODBC, you will need to purchase two licenses. If you have three developers working on one product, you will need to purchase three licenses in order to benefit from the royalty-free distribution right.

For prices please check the mxODBC Product Development Edition License Shop Page. Volume discounts are available on request. Please contact the eGenix.com Sales Team for quotes.

Product Development Edition Upgrade

If you are looking for upgrades to your existing mxOBDC Developer CPU Licenses, we provide a Product Development Edition Upgrade License which allows to upgrade an mxODBC 2.0, 2.1 or 3.0 Developer CPU License to an mxODBC 3.1 Product Development Edition License. After upgrade, use of the original license from which you upgraded is no longer permitted.

Please note that we have changed the licensing scheme for mxODBC development licenses to a per-develeper and product based one, to better meet our customer's requirements. If you have questions, please contact the eGenix.com Sales Team.

For prices please check the mxODBC Product Development Edition Upgrade License Shop Page. Volume discounts are available on request. Please contact the eGenix.com Sales Team for quotes.

Alternative Redistribution Forms

If you want to redistribute mxODBC as part of a product on a per-installation basis (rather than on a per developer and product basis), you can do so by purchasing standard or professional edition licenses in bulk and then redistribute these to your customers. For larger volumes we also have a special reseller agreement to simplify the process. Please write to the eGenix.com Sales Team for instructions and more information.

Documentation

The following documentation is available for mxODBC:

mxODBC User Manual and Reference Guide - HTML and PDF

The manual includes an installation guide, a discussion of the design principles behind mxODBC, as well as a reference of the available programming interfaces.

The PDF file is also available as part of the installation and can be found in the mx/ODBC/Doc/ folder.

Books

"Python Programming On Win32" by Mark Hammond, Andy Robinson has a section on mxODBC and mxDateTime.

Download

A successful installation of mxODBC requires these three steps:

  1. Before continuing with the download of mxODBC, first make sure that you have installed the eGenix.com mx Base Distribution (version 3.2.0 or later), since the eGenix.com mxODBC Distribution is an add-on to our base set of Python extensions.
  2. The downloads below do not contain any license keys. You will either have to obtain evaluation licenses or buy production licenses in order to successfully install and use the package.
  3. Select the right download for your platform and Python version and then head on to the installation instructions below.
IMPORTANT:
By downloading, installing or using the eGenix mxODBC Distribution, you agree to the terms and conditions set forth in the eGenix.com Commercial License Agreement 1.3.0.

Redistribution of these files is not allowed. Please contact the eGenix Sales Team for details about redistribution possibilities and terms.

Windows (x86 - 32-bit):

Please always download the correct installer for your Python version, otherwise you won't be able to install the packages.

For instructions on how to install the prebuilt distributions, please see the installation section below.

The Windows ODBC manager which comes with the Windows Operating System will be used by this distribution.

Windows (x64 - 64-bit):

Please always download the correct installer for your Python version, otherwise you won't be able to install the packages.

For instructions on how to install the prebuilt distributions, please see the installation section below.

The Windows ODBC manager which comes with the Windows Operating System will be used by this distribution.

Linux (i686 - 32-bit):

For instructions on how to install these prebuilt distributions, please see the installation section below.

You will need to have one of popular ODBC managers for Unix installed on the target system: iODBC 3.52.x or unixODBC 2.3.x.

We have successfully tested mxODBC with iODBC 3.52.7 and unixODBC 2.3.0. For unixODBC 2.3.1 and later please create a symlink from libodbc.so.2 to libodbc.so.1 as mentioned on the unixODBC news section.

Linux (x86_64 - 64-bit):

For instructions on how to install these prebuilt distributions, please see the installation section below.

You will need to have one of popular ODBC managers for Unix installed on the target system: iODBC 3.52.x or unixODBC 2.3.x.

We have successfully tested mxODBC with iODBC 3.52.7 and unixODBC 2.3.0. For unixODBC 2.3.1 and later please create a symlink from libodbc.so.2 to libodbc.so.1 as mentioned on the unixODBC news section.

Mac OS X (PPC + Intel - 32-bit):

You will need the UCS2 version of the distribution if you plan to use it with the Python version shipped with Mac OS X.

Note: Even though the files f

gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.