Re: Locale question
Posted in 1998
Stuart Peacock wrote:
>
> We support a customer who is using the 7.1 engine(HP) and esqlc 7.12 (i
> believe). We have a development server(HP) on which we had installed 7.22.
> We were unable to compile our apps and get them to work due to Locale
> errors. The esql that came with the 7.22 engine couldn't seem to figure out
> what locale the 7.1 engine was using. Informix switched from NLS to GLS in
> 7.2.
Your problem is that the message files were moved from 7.1x to 7.2x to
support GLS. You are not clear about whether you are trying to run
7.2x executables against the 7.1x engine or 7.1x executables against
the 7.2 engine.
To fix the latter case (7.1x apps on 7.2 engine) just go into the GLS
message directory for your locale ($INFORMIXDIR/msg/en_us/0333 for
default) and soft link each msg file to the location that the 7.1 apps
are looking for them ($INFORMIXDIR/msg). Thus (assuming a UNIX host):
for file in *; do ln -s $file $INFORMIXDIR/msg/$file; done
For the former problem (7.2 apps on 7.1 engine) this may be more
complex. I have several suggestions and maybe you should contact tech
support and get their cut on which is best:
1) Create the GLS message sub-directories and soft link the message
files to there from $INFORMIXDIR/msg to $INFORMIXDIR/msg/en_us/0333.
You may or may not still have trouble with shared libraries. (For
example 7.24 moved things from one shared lib to two new ones but did
no rename the original libraries version id so 7.21 apps cannot find
several GLS symbols and because the library name was not changed you
cannot just install the older libraries also.)
2) Get IConnect 7.22 for your platform and install it over the existing
engine. Since it only installs message files and some shared libraries
not used by the engine is SHOULD be safe. Also IConnect is free.
3) Get IConnect 7.22 for your platform and install it in another
directory. Point INFORMIXDIR for your 7.22 apps to the new directory.
Place a copy of sqlhosts in $INFORMIXDIR/etc and connect to the engine
through a Stream Pipe or Network connection rather than through shared
memory. If you have a primary shared memory connection and another
stream pipe or network alias already set up you can change the sqlhosts
file for the 7.22 apps only to make the primary name an alias for the
other connections:
7.21 sqlhosts:
myserver onipcshm myhost sqldummy
myserver_p ontlitcp myhost sqltli
7.22 sqlhosts:
myserver ontlitcp myhost sqltli
myserver_p ontlitcp myhost sqltli
Art S. Kagel