Python ODBC Database Interface
mxODBC is our commercially supported Python extension providing ODBC database connectivity to Python applications on Windows, Mac OS X, Unix and BSD platforms with many advanced Python DB-API extensions and full support of stored procedures
This announcement is also available on our web-site for online reading: http://www.egenix.com/company/news/eGenix-mxODBC-3.3.3-GA.html
mxODBC provides an easy-to-use, high-performance, reliable and robust Python interface to ODBC compatible databases such as MS SQL Server, Oracle Database, IBM DB2, Informix and Netezza, SAP Sybase ASE and Sybase Anywhere, Teradata, MySQL, MariaDB, PostgreSQL, SAP MaxDB and many more:
The "eGenix mxODBC - Python ODBC Database Interface" product is a commercial extension to our open-source eGenix mx Base Distribution:
The 3.3.3 release of our mxODBC is a patch level release of our popular Python ODBC Interface for Windows, Linux, Mac OS X and FreeBSD. It includes these enhancements and fixes:
Driver Compatibility --------------------
MS SQL Server
MS SQL Server Native Client
* Added a fix for the MS SQL Server Native Client error "[Microsoft][ODBC Driver 11 for SQL Server][SQL Server]The data types varchar and text are incompatible in the equal to operator." when trying to bind a string of more than 256 bytes to a *VARCHAR* column while using cursor.executedirect(). cursor.execute() was unaffected by this. Thanks to Paul Perez for reporting this.
* Added a note to *avoid using "execute "* when calling stored procedures with MS SQL Server. This can result in '[Microsoft][SQL Native Client]Invalid Descriptor Index' errors. Simply dropping the "execute " will have the error go away.
FreeTDS ODBC Driver
* Added a work-around to address the FreeTDS driver error '[FreeTDS][SQL Server]The data types varbinary and image are incompatible in the equal to operator.' when trying to bind binary strings longer than 256 bytes to a *VARBINARY* column. This problem does not occur with the MS SQL Server Native Client.
* Reenabled returning *cursor.rowcount* for FreeTDS >= 0.91. In previous versions, FreeTDS could return wrong data for .rowcount when using SELECTs.This should make *SQLAlchemy* users happy again.
* Add work-around to have FreeTDS ODBC driver accept *binary data* in strings as input for VARBINARY columns. A side effect of this is that FreeTDS will now also accept binary data in VARCHAR columns.
SAP Sybase ASE
* Added work-arounds and improvements for Sybase ASE ODBC drivers to enable working with *BINARY* and *VARBINARY* columns.
* Added a work-around for a *cursor.rowcount* problem with Sybase ASE's ODBC driver on 64-bit platforms. It sometimes returns 4294967295 instead of -1.
* Added note about random segfault problems with the *Sybase ASE 15.7 ODBC driver* on Windows. Unfortunately, there's nothing much we can do about this, other than recommend using the Sybase ASE 15.5 ODBC driver version which does not have these stability problems.
* Added improved documentation on the *direct execution model* available in mxODBC. This can help in more complex parameter binding situations and also provides performance boosts for a few databases, including e.g. MS SQL Server.
* Improved tests and added more data binding tests, esp. for SELECT queries with bound parameters.
* Fixed some minor issues with the *package web installer* related to Linux2 vs. Linux3, FreeBSD installations and an intermittent error related to hash seeds, which sometimes caused prebuilt archives to not install correctly.
For the full set of changes please check the mxODBC change log:
mxODBC 3.3 was released on 2014-04-08. Please see the full announcement for highlights of the 3.3 release:
For the full set of features mxODBC has to offer, please see:
mxODBC is available in these two editions:
* The Professional Edition, which gives full access to all mxODBC features.
* The Product Development Edition, which allows including mxODBC in applications you develop.
For a complete overview of the available editions, please see the product page:
The download archives and instructions for installing the package can be found at:
In order to use the eGenix mxODBC package you will first need to install the eGenix mx Base package:
You can also simply use:
pip install egenix-mxodbc
and then get evaluation licenses from our website to try mxODBC:
Users are encouraged to upgrade to this latest mxODBC release to benefit from the new features and updated ODBC driver support.
We have taken special care not to introduce backwards incompatible changes, making the upgrade experience as smooth as possible.
Customers who have purchased mxODBC 3.3 licenses can continue to use their licenses with this patch level release.
For upgrade purchases, we will give out 20% discount coupons going from mxODBC 2.x to 3.3 and 50% coupons for upgrades from mxODBC 3.x to 3.3. Please contact the eGenix.com Sales Team with your existing license serials for details for an upgrade discount coupon.
If you want to try the new release before purchase, you can request 30-day evaluation licenses by visiting our web-site
or writing to email@example.com, stating your name (or the name of the company) and the number of eval licenses that you need.
Commercial support for this product is available from eGenix.com. Please see
for details about our support offerings.
About Python (http://www.python.org/):
Python is an object-oriented Open Source programming language which runs on all modern platforms. By integrating ease-of-use, clarity in coding, enterprise application connectivity and rapid application design, Python establishes an ideal programming platform for today's IT challenges.
About eGenix (http://www.egenix.com/):
eGenix is a software project, consulting and product company focusing on expert services and professional quality products for companies, Python users and developers.