On 18-Dec-2002 Jonathan Leffler wrote:
> 
> 
> 
> 
> Dear Jeff,
> 
> Fair enough comments on using a driver manager.
> 
> I had tried to get iODBC up, but it barfed on a library I couldn't track
> down - at run time, not compile/link time.  I started on unixODBC too, but
> then concluded I didn't want to confuse myself - or it, or iODBC - by
> installing its libraries over the iODBC libraries, so I need to go back to
> the drawing board and rebuild either or both DMs to install in separate
> versioned directories (/usr/iodbc/v3.0.6/ and /usr/unixODBC/v2.2.3, I
> think), reinstall, and generally sort out.  I have a nasty feeling that
> part of my problem with iODBC may be that I declined to build the GUI stuff
> -- Solaris doesn't have the pre-requisites like Gtk installed -- yet the
> library does not work properly without it.  Untested hypothesis, but the
> libiodbcadm was missing at run-time.

The simplest configure of unixODBC for you to try (given what you've said) is:

./configure --sysconfdir=/etc --enable-threads=no --enable-gui=no
            --enable-drivers=no --prefix=/usr/unixODBC

You don't need the GUI components (which need QT and a C++ compiler anyway) as
the GUI config program only adds simple entries to odbc.ini and odbcinst.ini
which are just as easy to add by hand. This will give you three shared objects,
libodbc.so, libodbcinst.so and libodbccr.so and that with the header files is
all you need.

> So, in the interests of expediency, I used the surrogate DM that is
> distributed with Informix CLI - knowing it was less than ideal but being
> unwilling to spend very much longer on getting set up.
> 
> I've just re-remembered why I find ODBC/CLI on Unix so painful!  And that
> is in no sense a comment on DBD::ODBC - just on ODBC in general on Unix.  I
> assume it is easier to deal with on MS platforms; at least, there's a
> standard ODBC driver manager!

<plug>
A standard is emerging in the Linux and IBM worlds. IBM now recommend unixODBC
for the DB2 CLI driver and provide instructions on their web page and RedHat
distribute unixODBC. Fair enough, this isn't Solaris, HP etc etc but it is
moving along.

The standard for ODBC is the one Microsoft wrote and as far as I am aware there
is only one unix ODBC driver manager that does all of that and in the same way
as Microsoft's driver manager right down to SQLGetProvateProfile
string etc (unixODBC). With unixODBC the only minor area of difference is that
drivers can be installed with a separate odbcinst command but as far as I am
aware they can also be installed with SQLInstallDriver etc calls as well.

Try using UNICODE with an ODBC driver manager for UNIX and then try unixODBC -
then you'll start seeing the real difference. I know because I have an ODBC
application that only makes the SQLxxxW calls and unixODBC is the only one that
does it properly.

BTW, version 2.2.4 is on ftp://ftp.easysoft.com/pub/beta/unixODBC.

</plug>

Martin
-- 
Martin J. Evans
Easysoft Ltd, UK
Development

Reply via email to