Installation guide
5. mxODBC Overview
You also can access the MS ODBC online reference from the Microsoft MDAC
web-site.
Please note that not all ODBC drivers and databases support the complete set of
available introspection parameters. When using them, please make sure that the
databases supported by your application do implement the parameters used in
your application.
5.3 Supported ODBC Versions
mxODBC can be configured to use ODBC 2.x or 3.x interfaces by setting the
ODBCVER symbol in mxODBC.h to the needed value. It uses the value provided by
the ODBC driver header files per default which usually is the latest ODBC
standard version available.
Most ODBC drivers today support ODBC 3.x and thus mxODBC will try to use
APIs from this version if available.
5.3.1 ODBC Managers
All supported ODBC managers (MS ODBC Manager, iODBC, unixODBC and
DataDirect) provide the ODBC 3.x interfaces and map these to ODBC 2.x
interfaces in case the driver for the database does not comply to ODBC 3.x.
However, some drivers only pretend to be ODBC 3.x compliant and raise
"Driver not capable" exceptions when using certain ODBC 3.x APIs or
features. If you run into such an situation, please contact support
for help. The
only way to solve this problem currently lies in adding workarounds which are
specific to a database.
To find out which ODBC version is being supported by the ODBC driver, you can
use
connection.getinfo(SQL.DRIVER_ODBC_VER)[1]. This will return a string
giving you the ODBC version number, e.g.
'03.51.00'.
5.3.2 Changes between ODBC 2.x and 3.x
Please also note that there are some changes in behavior between ODBC 2.x and
3.x compatible drivers/managers which means that certain option settings differ
slightly between the two versions and that special cases are treated differently for
ODBC 3.x than for ODBC 2.x. See the ODBC Documentation
for details.
65