[DB-SIG] ANN: eGenix mxODBC 3.2.0 - Python ODBC Database Interface

eGenix Team: M.-A. Lemburg info at egenix.com
Tue Aug 28 09:26:08 CEST 2012


________________________________________________________________________

ANNOUNCING

                         eGenix.com mxODBC

                   Python ODBC Database Interface

                           Version 3.2.0


    mxODBC is our commercially supported Python extension providing
         ODBC database connectivity to Python applications
            on Windows, Mac OS X, Unix and BSD platforms


This announcement is also available on our web-site for online reading:
http://www.egenix.com/company/news/eGenix-mxODBC-3.2.0-GA.html

________________________________________________________________________

INTRODUCTION

mxODBC provides an easy-to-use, high-performance, reliable and robust
Python interface to ODBC compatible databases such as MS SQL Server,
MS Access, Oracle Database, IBM DB2 and Informix , Sybase ASE and
Sybase Anywhere, MySQL, PostgreSQL, SAP MaxDB and many more:

         http://www.egenix.com/products/python/mxODBC/

The "eGenix mxODBC - Python ODBC Database Interface" product is a
commercial extension to our open-source eGenix mx Base Distribution:

         http://www.egenix.com/products/python/mxBase/

________________________________________________________________________

NEWS

The 3.2.0 release of our mxODBC is a new release of our popular Python
ODBC Interface for Windows, Linux, Mac OS X and FreeBSD.

New Features in 3.2
-------------------

 * Switched to unixODBC 2.3.1+ API: mxODBC is now compiled against
   unixODBC 2.3.1, which finally removes the problems with the ABI
   change between 2.2 and 2.3 by switching to a new library version
   (libodbc.so.2).

 * mxODBC connection objects can now be used as context managers to
   implicitly commit/rollback transactions.

 * mxODBC cursor objects can now be used as context managers to
   implicitly close the cursor when leaving the block (regardless of
   whether an exception was raised or not)

 * mxODBC added support for adjustable .paramstyles. Both 'qmark'
   (default) and 'named' styles are supported and can be set on
   connections and cursors. The 'named' style allows easier porting of
   e.g. Oracle native interface code to mxODBC.

 * mxODBC now supports a writable connection.autocommit attribute to
   easily turn on/off the connection's auto commit mode.

 * mxODBC added support for adjustable TIMESTAMP precision via the new
   connection/cursor.timestampresolution attribute.

 * mxODBC will round to nearest nanosecond fraction instead of
   truncating the value. This will result in fewer conversion errors
   due to floating point second values.

 * mxODBC's connect APIs Connect() and DriverConnect() support setting
   connection options prior to connecting to the database via a new
   connection_options parameter. This allows enabling e.g. the MARS
   feature in SQL Server Native Client.

 * The connection.cursor() constructor now has a new cursor_options
   parameters which allows configuring the cursor with a set of cursor
   options.

 * The .scroll() method supports far more ODBC drivers than before.

 * Updated the SQL lookup object to include more ODBC SQL parameter
   codes, including special ones for SQL Server and IBM DB2.

 * mx.ODBC.Manager will now prefer unixODBC over iODBC. Previous
   mxODBC releases used the order iODBC, unixODBC, DataDirect when
   looking for a suitable ODBC manager on Unix platforms. unixODBC is
   more widely supported nowadays and provides better Unicode support
   than iODBC.

For the full set of features mxODBC has to offer, please see:

    http://www.egenix.com/products/python/mxODBC/#Features

Driver Compatibility Enhancements
---------------------------------

 * Added work-around for Oracle Instance Client to prevent use of
   direct execution. cursor.executedirect() will still work, but won't
   actually use direct execution with the Oracle driver.

 * Added work-around for Oracle Instant Client to prevent segfaults in
   the driver when querying the cursor.rowcount or cursor.rownumber.

 * Added check to make sure that Python type binding mode is not used
   with Oracle Instance Client as this can cause segfaults with the
   driver and generally doesn't work.

 * Added a work-around to have the IBM DB2 driver return correct
   .rowcount values.

 * Improved Sybase ASE driver compatibility: this only supports Python
   type binding, which is now enabled per default.

 * Added work-around for PostgreSQL driver, which doesn't support
   scrollable cursors.

 * Add support for MS SQL Server ODBC Driver 1.0 for Linux to mxODBC

 * Improved compatibility of the mxODBC native Unicode string format
   handling with Unix ODBC drivers when running UCS4 builds of Python.

 * mxODBC 3.2 now always uses direct execution with the FreeTDS ODBC
   driver. This results in better compatibility with SQL Server and
   faster execution across the board.

 * Add work-around to have FreeTDS work with 64-bit integers outside
   the 32-bit signed integer range.

 * FreeTDS' .rowcount attribute gave misleading values for
   SELECTs. This now always returns -1 (until they hopefully fix the
   driver to return usable data).

For the full set of changes please check the mxODBC change log:

    http://www.egenix.com/products/python/mxODBC/changelog.html

mxODBC Editions
---------------

mxODBC is available in these three editions:

 * The low-cost Standard Edition which provides data connectivity to a
   single database type, e.g. just MS SQL Server.

 * The Professional Edition, which gives full access to all mxODBC
   features.

 * The Product Development Edition, which allows including mxODBC in
   applications you develop.

Compared to mxODBC 3.0, we have simplified our license terms to
clarify the situation on multi-core and virtual machines. In most
cases, you no longer need to purchase more than one license per
processor or virtual machine, scaling down the overall license costs
significantly compared to earlier mxODBC releases.

For a complete overview of the new editions, please see the product page.

    http://www.egenix.com/products/python/mxODBC/#mxODBCEditions

________________________________________________________________________

DOWNLOADS

The download archives and instructions for installing the package can
be found at:

    http://www.egenix.com/products/python/mxODBC/

In order to use the eGenix mxODBC package you will first need to
install the eGenix mx Base package:

    http://www.egenix.com/products/python/mxBase/

________________________________________________________________________

UPGRADING

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.

For upgrade purchases, we will give out 20% discount coupons going
from mxODBC 2.x to 3.2 and 50% coupons for upgrades from mxODBC 3.x to
3.2. After upgrade, use of the original license from which you
upgraded is no longer permitted.

Please contact the eGenix.com Sales Team at sales at egenix.com with your
existing license serials for details for an upgrade discount coupon.

If you want to try the new release before purchace, you can request
30-day evaluation licenses by visiting our web-site

    http://www.egenix.com/products/python/mxODBC/#Evaluation

or by writing to sales at egenix.com, stating your name (or the name of
the company) and the number of eval licenses that you need.

_______________________________________________________________________

SUPPORT

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

    http://www.egenix.com/services/support/

for details about our support offerings.

_______________________________________________________________________

INFORMATION

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.


Enjoy,
-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Aug 28 2012)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
2012-10-23: Python Meeting Duesseldorf ...                 56 days to go
2012-08-20: Released mxODBC.Connect 2.0.0 ...     http://egenix.com/go30

::: Try our new mxODBC.Connect Python Database Interface for free ! ::::


   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
               http://www.egenix.com/company/contact/


More information about the DB-SIG mailing list