RE: A Question about DBD-Informix



Thanks for your insight. We'll see how things go.

Curtis


________________________________

From: Jonathan Leffler [mailto:jonathan.leffler@xxxxxxxxx]
Sent: Thursday, July 31, 2008 2:42 PM
To: Curtis Leach
Cc: dbi-users@xxxxxxxx
Subject: Re: A Question about DBD-Informix




On Thu, Jul 31, 2008 at 8:16 AM, Curtis Leach <cleach@xxxxxxxxxxx>
wrote:


I'm running into a problem installing DBD-Informix.

I'm running Perl version 5.8.2 on AIX against Informix 10 with
the
current DBI.



Well, given what you say below, I shouldn't carp too much about 5.8.2
being rather ancient.



The version of the Informix SDK is 2.01, with no option to
upgrade since
later releases enforce XA compliance and regrettably a lot of
our other
non-perl code isn't XA Compliant and breaks.



CSDK 2.01 -- that would be from 1996 or 1997, I believe.

You have at least one upgrade option - install a modern CSDK (3.00,
3.50) into a new INFORMIXDIR (separate from where you have CSDK 2.01
installed), and build DBD::Informix against that new version. You would
copy (or, better, link) the sqlhosts file from the INFORMIXDIR
containing the archaic CSDK to the INFORMIXDIR containing the new code.
You might want to futz INFORMIXDIR when running Perl to point to the new
INFORMIXDIR, but it should mostly work even if you use the old one by
accident.

Failing that, disable the testing -- edit Makefile.PL to let CSDK 2.01
through. I've not consciously put anything in that will break - as long
as you get the ESQL/C version number right (9.14).
However, it most certainly won't be supported.

The check is:

elsif ($effvernum >= 900 && $effvernum < 916)
{
# ESQL/C 9.0x and 9.10 or 9.11 were pre-releases of the ESQL/C for
# the Informix Universal Server (IUS) - since renamed several times.
# ESQL/C 9.12 was released as ESQL/C 9.12.
# ESQL/C 9.13 was released in DevSDK 2.00
# ESQL/C 9.14 was released in ClientSDK 2.01
# ESQL/C 9.15 was released in ClientSDK 2.02
# All of these are long obsolete and are no longer supported.
dbd_ix_die &nlws(qq%
This version of ESQL/C ($infversion) is obsolete.
Please upgrade to ClientSDK version 2.70 or later.
%);
}

Comment out the dbd_ix_die() call, or replace dbd_ix_die with warn.

You could go back and get a really old DBD::Informix and a matching DBI
-- I wouldn't recommend it, but you could do it.

I also won't guarantee that everything will compile - much less work -
but there's a semi-decent chance. The code does still compile with
ESQL/C 5.20 (which is much older than the 9.x versions of ESQL/C, and
also older than the 2.x and 3.x versions of ESQL/C, where 3.50 is the
current vesion - don't ask, because I don't need my blood-pressure to
rise again), so the functionality missing in 9.14 that is present in the
latest versions (3.50) should also be excluded for 9.14.


The Makefile.PL logic says that our SDK is too old.



The Makefile.PL logic is correct - your SDK is too old. I probably
declared CSDK 2.01 obsolete about 5 or 6 years ago.



So is there an earlier release of DBD-Informix out there we
could
attempt to use? Or does anyone know how to tweak the current
release to
make this work? Or any other suggestions?

We've tried both DBD-Informix-2008.0513 & DBD-Informix-2007.0914
without
luck.



If you can't find old versions out on backpan.cpan.org let me know which
version you want to experiment with - and provide me with a convenient
way to get files to you (FTP site, for example).

--
Jonathan Leffler <jonathan.leffler@xxxxxxxxx> #include <disclaimer.h>
Guardian of DBD::Informix - v2008.0513 - http://dbi.perl.org
"Blessed are we who can laugh at ourselves, for we shall never cease to
be amused."



Relevant Pages

  • Re: A Question about DBD-Informix
    ... You have at least one upgrade option - install a modern CSDK ... link) the sqlhosts file from the INFORMIXDIR containing the archaic ... INFORMIXDIR when running Perl to point to the new INFORMIXDIR, ... you get the ESQL/C version number right. ...
    (perl.dbi.users)
  • Re: newbie esql question
    ... If you installed esql into a different ... > you'll have to set INFORMIXDIR to the actual install directory of esql ... clear information which type the CSDK code was. ...
    (comp.databases.informix)
  • Re: newbie esql question
    ... If you installed esql into a different ... > you'll have to set INFORMIXDIR to the actual install directory of esql ... clear information which type the CSDK code was. ...
    (comp.databases.informix)
  • Re: newbie esql question
    ... If you installed esql into a different ... > you'll have to set INFORMIXDIR to the actual install directory of esql ... clear information which type the CSDK code was. ...
    (comp.databases.informix)
  • Re: newbie esql question
    ... just re-install IDS, then install the 64-bit CSDK? ... INFORMIXDIR you would do that afterward. ...
    (comp.databases.informix)