[egenix-users] mxODBCZopeDA with iODBC in Linux

M.-A. Lemburg mal at egenix.com
Thu Feb 25 00:15:58 CET 2010

M.-A. Lemburg wrote:
> Baiju M wrote:
>> Hi,
>>    Is there any document which explains setting up mxODBCZopeDA
>> with iODBC in Linux.  I am looking for something which use
>> Oracle instantclient.
> Setting up iODBC is just a straight-forward as setting up
> unixODBC. See e.g. this how-to:
> http://www.iodbc.org/dataspace/iodbc/wiki/iODBC/IODBCPythonHOWTO
> These are few links to the mxODBC Zope DA documentation:
> http://www.egenix.com/products/zope/mxODBCZopeDA/doc/#_Toc117329296
> http://www.egenix.com/products/zope/mxODBCZopeDA/doc/#_Toc117329299
> The mxODBC Zope DA allows you to select which ODBC manager
> to use on Unix - depending on which are installed.
> Since both managers provide more or less the same interface,
> it's usually best to just install one of them and select
> the "Platform Default" choice.
> This results in mxODBC Zope DA
> picking up the ODBC that's installed on the system and is more
> portable in case you plan to move the connection object to
> a different installation:
> http://www.egenix.com/products/zope/mxODBCZopeDA/doc/#_Toc117329309

BTW: There's one catch with the iODBC manager that you run into:
It defaults to using the 4-byte wchar_t type for Unicode on Linux.

Since many ODBC drivers follow the MS ODBC standard which uses
a 2-byte wchar_t type for Unicode, iODBC will cause problems when
used with these drivers and Unicode.

It does not appear to be easily possible to compile iODBC
to use a 2-byte Unicode type, short of editing sqltypes.h
to force use a 2-byte type.

unixODBC uses the 2-byte Unicode type on Linux per default,
so you don't run into these issues, but you have other
issues related to a few length types being 4 bytes on older
versions and 8 bytes in more recent ones on 64-bit Linux -
which iODBC doesn't have.

Marc-Andre Lemburg

Professional Python Services directly from the Source  (#1, Feb 25 2010)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/

::: 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

More information about the egenix-users mailing list