[DB-SIG] ANN: eGenix mxODBC Connect 2.1.4 - Remote Python Database Interface

eGenix Team: M.-A. Lemburg info at egenix.com
Wed Sep 23 10:12:18 CEST 2015



                      eGenix.com mxODBC Connect

                  Remote Python Database Interface

                            Version 2.1.4

 mxODBC Connect is our commercially supported client-server product for
       connecting Python applications to relational databases
                 in a truly platform independent way.

This announcement is also available on our website for online reading:



The mxODBC Connect Database Interface for Python allows users to
easily connect Python applications to all major databases on the
market today in a highly portable, convenient and secure way.

Python Database Connectivity the Easy Way

Building on our mxODBC database interface for Python, mxODBC Connect
is designed as client-server application, so you no longer need to
find production quality database drivers for all platforms you target
with your Python application.

Instead, you use an easy to install royalty-free Python client library
which connects directly to the mxODBC Connect database server over the

This makes mxODBC Connect a great basis for writing cross-platform
multi-tier database applications and utilities in Python, especially
if you run applications that need to communicate with 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, that run on Windows or Linux machines.

Ideal for Database Driven Client Applications

By removing the need to install and configure ODBC drivers on the
client side and dealing with complicated network setups for each set
of drivers, mxODBC Connect greatly simplifies deployment of database
driven client applications, while at the same time making the network
communication between client and database server more efficient and
more secure.

For more information, please have a look at the mxODBC Connect product
page, in particular, the full list of available features.

For more information, please see the product page:




mxODBC Connect 2.1.4 is a patch level release of our successful mxODBC
Connect database product. It includes these enhancements and fixes:

Security Enhancements

 * Updated included OpenSSL libraries to 1.0.1p. Please see the
   egenix-pyopenssl change log for a complete list of changes. Among
   other security fixes, this addresses the Logjam attack.


mxODBC Connect Enhancements

 * Added support for the BinaryNull work-around added to mxODBC 3.3.5
   in order to better support VARBINARY columns in MS SQL Server.

   Both mxODBC Connect Client and Server will need to upgraded to
   version 2.1.4 in order to be able to use the new singleton.

 * The mxODBC Connect Client can now be compiled to a wheel file to
   simplify deployment. Simply point the pip at the prebuilt archive.

mxODBC API Enhancements

 * Upgraded the mxODBC Connect Server to mxODBC 3.3.5:


MS SQL Server

 * Documented and recommended use of SET NOCOUNT ON for running
   multiple statements or stored procedures. This can not only resolve
   issues with error reporting, it also results in better performance.

 * Added a work-around for MS SQL Server Native Client to be able to
   support VARCHAR/VARBINARY(MAX) columns when using the Native Client
   with direct execution mode or Python type binding mode. Thanks to
   ZeOmega for reporting this.

 * Added new helper singleton BinaryNull to allow binding a NULL to a
   VARBINARY column with SQL Server in direct execution mode or Python
   type binding mode (as used for FreeTDS). Using the usual None
   doesn't work in those cases, since SQL Server does not accept a
   VARCHAR data type as input for VARBINARY, except by using an
   explicit "CAST(? AS VARBINARY)". mxODBC binds None as VARCHAR for
   best compatibility, when not getting any type hints from the ODBC

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

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

For the full set of changes, including those of the 2.1 series of
mxODBC Connect, please check the mxODBC Connect change log:




You are encouraged to upgrade to this latest mxODBC Connect release.
When upgrading, please always upgrade both the server and the client
installations to the same version - even for patch level releases.

We will give out 20% discount coupons for upgrade purchases going from
mxODBC Connect Server 1.x to 2.1 and 50% coupons for upgrades from
mxODBC Connect Server 2.x to 2.1. Please contact the eGenix.com Sales
Team (sales at egenix.com) with your existing license serials for

Users of our stand-alone mxODBC product will have to purchase new
licenses from our online shop in order to use mxODBC Connect.

You can request free 30-day evaluation licenses by visiting our
web-site or writing to sales at egenix.com, stating your name (or the
name of the company) and the number of eval licenses that you need.




The download archives as well as instructions for installation and
configuration of the product can be found on the product page:


If you want to try the package, jump straight to the download


Fully functional evaluation licenses for the mxODBC Connect Server are
available free of charge:


The mxODBC Connect Client is always free of charge.



Commercial support for this product is available from eGenix.com.

Please see


for details about our support offerings.



About eGenix (http://www.egenix.com/):

    eGenix is a Python software project, consulting and product
    company delivering expert services and professional quality
    products for companies, Python users and developers. We specialize
    in database driven applications, large scale software designs and

Marc-Andre Lemburg

Professional Python Services directly from the Experts (#1, Sep 23 2015)
>>> Python Projects, Coaching and Consulting ...  http://www.egenix.com/
>>> Python Database Interfaces ...           http://products.egenix.com/
>>> Plone/Zope Database Interfaces ...           http://zope.egenix.com/
2015-09-14: Released mxODBC Plone/Zope DA 2.2.3   http://egenix.com/go84
2015-09-26: Python Meeting Duesseldorf Sprint 2015          3 days to go
2015-10-21: Python Meeting Duesseldorf ...                 28 days to go

   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611

More information about the DB-SIG mailing list