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