DB_LOCAL and Informix 7.1/7.2
Posted in 1999
Topics: Installation, Setup & Upgrades, Connectivity: ESQL/C, 4GL & Embedded SQL
I have an ESQL/C executable that was compiled on Informix 7.2. We didn't set any language relevant environment variables, so I guess the executables are for the standard US_EN environment. The executables are sent to customer with Informix 7.1 installed. When he tries to run the binaries he receives error -23101 (DB_LOCAL). Any idea what we can do? Markus nil@poboxes.com -----------== Posted via Deja News, The Discussion Network ==---------- http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own
schorsch081539242375@my-dejanews.com wrote: > > I have an ESQL/C executable that was compiled on Informix 7.2. We didn't set > any language relevant environment variables, so I guess the executables are > for the standard US_EN environment. The executables are sent to customer with > Informix 7.1 installed. When he tries to run the binaries he receives error > -23101 (DB_LOCAL). > > Any idea what we can do? IDS 7.1x kept its message files in $INFORMIXDIR/msg and 7.2x moved them into the GLS subdirectories. Your client needs the 7.2 message files and directory structure and unless you compiled -static they will also need shared libraries. Basically your client needs to install a 7.2x IConnect for their platform installed to a different directory from their 7.1x engine. Then they can copy their sqlhosts file and set INFORMIXDIR to the IConnect install directory, set INFORMIXSERVER to a non-shared memory DBSERVER or DBSERVERALIASES value and voila! You can set up the correct environment in an execute script the client can run instead of the actual executable. Since IConnect is free for most platforms and since you will be installing in a separate structure so their production stuff is not affected, they should not have any serious objections. I do this all the time, mostly to run older apps on newer servers until they are all ported, but it works both ways. Art S. Kagel
I've got a very similar problem - ESQL/C app (built using 7.23 on a development machine) and a production server with Online Server 7.10.UD2. I've copied my app to the production server and got the 23101 error. I then installed ESQL/C onto the production server to install all the GLS stuff, set INFORMIXDIR for the client to point to this new area, set INFORMIXSERVER to a TCP connection, ensured SQLHOSTS file contains a local loopback connection and I STILL get the -23101 error. I wrote a simple ESQL test app that just issues a "CONNECT" command using ESQL/C 7.23 again. This WORKS !!!! I can't find any documentation stating how backward compatible this GLS stuff is - I assume that a newer (7.23 post-gls) client is talking to an older (pre-gls) server as in my case, that everything should work OK. But mine ain't ! Do I need to upgrade my server to 7.23+ ? Regards Nick Art S. Kagel wrote in message <36F15DEC.752D@bloomberg.net>... >schorsch081539242375@my-dejanews.com wrote: >> >> I have an ESQL/C executable that was compiled on Informix 7.2. We didn't set >> any language relevant environment variables, so I guess the executables are >> for the standard US_EN environment. The executables are sent to customer with >> Informix 7.1 installed. When he tries to run the binaries he receives error >> -23101 (DB_LOCAL). >> >> Any idea what we can do? > >IDS 7.1x kept its message files in $INFORMIXDIR/msg and 7.2x moved them >into the GLS subdirectories. Your client needs the 7.2 message files >and directory structure and unless you compiled -static they will also >need shared libraries. Basically your client needs to install a 7.2x >IConnect for their platform installed to a different directory from >their 7.1x engine. Then they can copy their sqlhosts file and set >INFORMIXDIR to the IConnect install directory, set INFORMIXSERVER to >a non-shared memory DBSERVER or DBSERVERALIASES value and voila! You >can set up the correct environment in an execute script the client can >run instead of the actual executable. > >Since IConnect is free for most platforms and since you will be >installing in a separate structure so their production stuff is not >affected, they should not have any serious objections. I do this all >the time, mostly to run older apps on newer servers until they are all >ported, but it works both ways. > >Art S. Kagel
Hi
I've got a similar problem to this:
My Online server is installed in /usr/informix (version 7.10.UD2) - i.e.
with not GLS support. It's been up and running for months - users of 7.10
client software (dbaccess, ESQL/C) etc connects to it fine.
I've installed ESQL/C 7.23.?? into /usr/informix/723, rebuilt my ESQL/C app
using 7.23, set $INFORMIXDIR + $PATH to /usr/informix/723, copied the
sqlhosts file from /usr/informix/etc into /usr/informix/723 (the sqlhosts
file and ONCONFIG file in /usr/informix/etc both reference the same TCP/IP
connection). When I attempt to connect via my rebuild 7.23 ESQL/C app - it
fails with the 23101 error.
Can a GLS client talk to an older (pre-GLS) server ?
If so, what do CLIENT_LOCALE/DB_LOCALE need to be set to ?
Regards
Nick
Art S. Kagel wrote in message <36F15DEC.752D@bloomberg.net>...
>schorsch081539242375@my-dejanews.com wrote:
>>
>> I have an ESQL/C executable that was compiled on Informix 7.2. We didn't
set
>> any language relevant environment variables, so I guess the executables
are
>> for the standard US_EN environment. The executables are sent to customer
with
>> Informix 7.1 installed. When he tries to run the binaries he receives
error
>> -23101 (DB_LOCAL).
>>
>> Any idea what we can do?
>
>IDS 7.1x kept its message files in $INFORMIXDIR/msg and 7.2x moved them
>into the GLS subdirectories. Your client needs the 7.2 message files
>and directory structure and unless you compiled -static they will also
>need shared libraries. Basically your client needs to install a 7.2x
>IConnect for their platform installed to a different directory from
>their 7.1x engine. Then they can copy their sqlhosts file and set
>INFORMIXDIR to the IConnect install directory, set INFORMIXSERVER to
>a non-shared memory DBSERVER or DBSERVERALIASES value and voila! You
>can set up the correct environment in an execute script the client can
>run instead of the actual executable.
>
>Since IConnect is free for most platforms and since you will be
>installing in a separate structure so their production stuff is not
>affected, they should not have any serious objections. I do this all
>the time, mostly to run older apps on newer servers until they are all
>ported, but it works both ways.
>
>Art S. Kagel
Hi
I've got a similar problem to this:
My Online server is installed in /usr/informix (version 7.10.UD2) - i.e.
with not GLS support. It's been up and running for months - users of 7.10
client software (dbaccess, ESQL/C) etc connects to it fine.
I've installed ESQL/C 7.23.?? into /usr/informix/723, rebuilt my ESQL/C app
using 7.23, set $INFORMIXDIR + $PATH to /usr/informix/723, copied the
sqlhosts file from /usr/informix/etc into /usr/informix/723 (the sqlhosts
file and ONCONFIG file in /usr/informix/etc both reference the same TCP/IP
connection). When I attempt to connect via my rebuild 7.23 ESQL/C app - it
fails with the 23101 error.
Can a GLS client talk to an older (pre-GLS) server ?
If so, what do CLIENT_LOCALE/DB_LOCALE need to be set to ?
Regards
Nick
schorsch081539242375@my-dejanews.com wrote in message
<7cr0ht$jfi$1@nnrp1.dejanews.com>...
>I have an ESQL/C executable that was compiled on Informix 7.2. We didn't
set
>any language relevant environment variables, so I guess the executables are
>for the standard US_EN environment. The executables are sent to customer
with
>Informix 7.1 installed. When he tries to run the binaries he receives error
>-23101 (DB_LOCAL).
>
>Any idea what we can do?
>
>Markus
>
>nil@poboxes.com
>
>
>-----------== Posted via Deja News, The Discussion Network ==----------
>http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own