Sophie

Sophie

distrib > CentOS > 5 > x86_64 > by-pkgid > 069336d4891c936d768b7209dbe496f9 > files > 54

unixODBC-libs-2.2.11-10.el5.x86_64.rpm

About 64-bit unixODBC
---------------------

RHEL-5 offers two versions of unixODBC and associated ODBC drivers.
The older version, unixODBC 2.2.11, is packaged as "unixODBC",
while the newer version, unixODBC 2.2.14, is packaged as "unixODBC64".
The reason for supporting both is that there are API differences that
mean applications built against one version won't work against the other.
Furthermore, some third-party tools require one API version or the other.

unixODBC and unixODBC64 are each divided into several sub-packages:

	unixODBC		Command-line programs, such as isql
	unixODBC-libs		Libraries used by ODBC-using programs
	unixODBC-devel		Headers for building ODBC-using programs
	unixODBC-kde		KDE GUI for ODBC management

	unixODBC64		Command-line programs, such as isql
	unixODBC64-libs		Libraries used by ODBC-using programs
	unixODBC64-devel	Headers for building ODBC-using programs

(There is no unixODBC64-kde because it would require a newer version
of Qt than is supported in RHEL-5.)

The unixODBC-libs and unixODBC64-libs packages can be installed together,
so that it is possible to have applications using both versions of the ODBC
API installed at the same time.  However, the unixODBC and unixODBC64
packages conflict: you can only have one or the other version of the
command-line programs installed at once.  Similarly, unixODBC-devel and
unixODBC64-devel conflict: you can only develop against one or the other
API version at a time.

Red Hat offers ODBC drivers for both MySQL and PostgreSQL.  The drivers to
use with original unixODBC are in packages mysql-connector-odbc and
postgresql-odbc respectively, while the ones to use with unixODBC64 are in
mysql-connector-odbc64 and postgresql-odbc64 respectively.  You can install
any or all of these driver packages together.

When setting up ODBC driver definitions, you must be careful to select
the right drivers for the unixODBC version you are using.  You can put
definitions for both unixODBC versions into the /etc/odbcinst.ini
configuration file; just be careful to name them uniquely.  A good
convention is to use the suffix "64" for driver definitions meant to work
with unixODBC64.  If you accidentally use the wrong driver for the unixODBC
version you are using, it may mostly work, but there will be trouble spots.
One easy thing to check is to try simple SELECT commands in isql: the
reported result of SQLRowCount will usually be wrong if you have a driver
mismatch.

The correct driver definition for mysql-connector-odbc with unixODBC is:

[MySQL]
Description	= ODBC for MySQL
Driver		= /usr/lib/libmyodbc3_r.so
Setup		= /usr/lib/libodbcmyS.so
Driver64	= /usr/lib64/libmyodbc3_r.so
Setup64		= /usr/lib64/libodbcmyS.so
FileUsage	= 1

You can adjust the name (in square brackets) and the description, but
the other items should usually be used verbatim.

The correct driver definition for mysql-connector-odbc64 with unixODBC64 is:

[MySQL64]
Description	= ODBC for MySQL (64 bit)
Driver		= /usr/lib/libmyodbc5.so
Setup		= /usr/lib/libodbcmyS64.so
Driver64	= /usr/lib64/libmyodbc5.so
Setup64		= /usr/lib64/libodbcmyS64.so
FileUsage	= 1

The correct driver definition for postgresql-odbc with unixODBC is:

[PostgreSQL]
Description	= ODBC for PostgreSQL
Driver		= /usr/lib/psqlodbc.so
Setup		= /usr/lib/libodbcpsqlS.so
Driver64	= /usr/lib64/psqlodbc.so
Setup64		= /usr/lib64/libodbcpsqlS.so
FileUsage	= 1

The correct driver definition for postgresql-odbc64 with unixODBC64 is:

[PostgreSQL64]
Description	= ODBC for PostgreSQL (64 bit)
Driver		= /usr/lib/psqlodbcw.so
Setup		= /usr/lib/libodbcpsqlS64.so
Driver64	= /usr/lib64/psqlodbcw.so
Setup64		= /usr/lib64/libodbcpsqlS64.so
FileUsage	= 1