Re: The Oracle ODBC driver story

From: Mladen Gogala <gogala.mladen_at_gmail.com>
Date: Sat, 12 Jun 2010 01:22:39 +0000 (UTC)
Message-ID: <huungv$srr$1_at_news.eternal-september.org>



On Fri, 11 Jun 2010 13:56:44 -0700, joel garry wrote:
>> Yes, it works that way, but I have to compile and configure the machine
>> manually and my boss is reluctant to allow me to do that on the
>> production box.
> 
> Fair enough.  Any manual operations are subject to non-repeatability. I
> often even script things I only intend to do once.

That's the problem. Getting it to work is not the problem:

[mgogala_at_medo ~]$ isql ora11 scott tiger

+---------------------------------------+

| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> select * from dept;
+-------+---------------+--------------+
| DEPTNO| DNAME | LOC |
+-------+---------------+--------------+
| 10 | ACCOUNTING | NEW YORK |
| 20 | RESEARCH | DALLAS |
| 30 | SALES | CHICAGO |
| 40 | OPERATIONS | BOSTON |
+-------+---------------+--------------+ SQLRowCount returns -1
4 rows fetched
SQL>
[mgogala_at_medo ~]$ isql --version
unixODBC 2.3.0
[mgogala_at_medo ~]$

If you take a look at the version, you will see that unixODBC version is 2.3.0. Unfortunately, I had to link that myself, it wasn't in a repository package. I am not asking how to get it working, I did that a long time ago. The problem is the fact that Oracle is shipping the driver which doesn't work with the official OS packages. I can't ask my system administrator to install unixODBC-2.3.0-1-el5.386.rpm because there is no such thing in any repository. The version in the repository is 2.2.11:

[mgogala_at_medo ~]$ rpm -qa|grep unixODBC unixODBC-devel-2.2.11-7.1
unixODBC-2.2.11-7.1
[mgogala_at_medo ~]$

Oracle ODBC drivers shipped with the RDBMS, as well as the ones shipped with the instant client(s) do not work with the version 2.2.11. Linking things by myself means no maintenance, no automatic updates, no platform specific configuration manuals and a lot of dependency upon the DBA. This is what happens with unixODBC-2.2.11:

[mgogala_at_medo tmp]$ isql ora11 scott tiger isql: symbol lookup error: /usr/lib/oracle/11.2/client/lib/ libsqora.so.11.1: undefined symbol: SQLGetPrivateProfileStringW [mgogala_at_medo tmp]$ isql --version
unixODBC 2.2.11

This has been going on for more than a year. It is really, really, really annoying. Even funnier thing is that Oracle does the same thing with OEL. That doesn't work either. That, in particular, means that Oracle Corp. is shipping a non-functional product. I wonder what will happen with Solaris? If the QA remains the same as for Linux, the SUN might turn into a black hole, and soon.

-- 
http://mgogala.byethost5.com
Received on Fri Jun 11 2010 - 20:22:39 CDT

Original text of this message