CLIENT_LOCALE where to define on server
Posted in 2011
Topics: Stored Procedures & SPL, Connectivity: ODBC / JDBC / .NET, Server Administration, Platform-Specific Issues, Internationalization & Character Sets, Versions, Editions & End-of-Life
Hi guys,
have a strange problem on Solaris 9 Sparc, IDS 9.40 UC6.
Apparently after a reboot, all ODBC-connections indicate problems with
DATE-format. Users logged in to the server and working locally have no problem.
Isql with select on date works correctly.
Dates seem to be correctly registered in the tables.
In the output of "onstat -g env" I see some differences, compared to an other
system (IDS 9.40 UC7).
CLIENT_LOCALE is missing (where is this defined on the serverside ??)
DBTEMP is not displayed correctly (DBTEMP=/d02/TEMPINFORMIX is set in
/etc/profile, with an export of course)
Any help will be appreciated.
Thanks
Here's the output of onstat -g env on the system :
IBM Informix Dynamic Server Version 9.40.UC6 -- On-Line -- Up 1 days 22:15:52
-- 694272 Kbytes
Server start-up environment:
Variable Value [values-list]
DBDELIMITER |
DBPATH .
DBPRINT lp -s
DBTEMP /tmp
INFORMIXDIR /p02/infor94
[/p02/infor94]
[/usr/informix]
INFORMIXSERVER brugshm
INFORMIXTERM termcap
LANG C
LC_COLLATE C
LC_CTYPE C
LC_MONETARY C
LC_NUMERIC C
LC_TIME C
LKNOTIFY yes
LOCKDOWN no
NODEFDAC no
ONCONFIG brug.conf
PATH /usr/sbin:/usr/bin
SERVER_LOCALE en_US.819
TBCONFIG onconfig
TERM dumb
TERMCAP /etc/termcap
TZ Europe/Brussels
On Wed, Sep 7, 2011 at 04:00, JACQUES LAPEIRE <
jacques.lapeire@ts.fujitsu.com> wrote:
> Have a strange problem on Solaris 9 Sparc, IDS 9.40 UC6.
>
Beware of old systems...
> Apparently after a reboot, all ODBC-connections indicate problems with
> DATE-format. Users logged in to the server and working locally have no
> problem.
> Isql with select on date works correctly.
> Dates seem to be correctly registered in the tables.
>
> In the output of "onstat -g env" I see some differences, compared to an
> other
> system (IDS 9.40 UC7).
>
> CLIENT_LOCALE is missing (where is this defined on the serverside ??)
>
The CLIENT_LOCALE is sent to the server by the client and is used to handle
each connection separately. It is not usually set on the server because the
server does not know the client's locale until the client tells it.
> DBTEMP is not displayed correctly (DBTEMP=/d02/TEMPINFORMIX is set in
> /etc/profile, with an export of course)
>
> Any help will be appreciated.
>
> Thanks
>
> Here's the output of onstat -g env on the system :
>
> IBM Informix Dynamic Server Version 9.40.UC6 -- On-Line -- Up 1 days
> 22:15:52
> -- 694272 Kbytes>
> Server start-up environment:
>
> Variable Value [values-list]
> DBDELIMITER |
> DBPATH .
> DBPRINT lp -s
> DBTEMP /tmp
> INFORMIXDIR /p02/infor94
>
> [/p02/infor94]
>
> [/usr/informix]
> INFORMIXSERVER brugshm
> INFORMIXTERM termcap
> LANG C
> LC_COLLATE C
> LC_CTYPE C
> LC_MONETARY C
> LC_NUMERIC C
> LC_TIME C
> LKNOTIFY yes
> LOCKDOWN no
> NODEFDAC no
> ONCONFIG brug.conf
> PATH /usr/sbin:/usr/bin
> SERVER_LOCALE en_US.819
> TBCONFIG onconfig
> TERM dumb
> TERMCAP /etc/termcap
> TZ Europe/Brussels
>
Note that the environment can be picked up from the current settings of
whoever last started the server. Unless you are careful, this can lead to
problems when the DBA team in Malaysia (say) restarts the server with their
local time zone instead of the Europe/Brussels (or if the team in San Diego
restarts the server with US/Pacific time).
--
Jonathan Leffler <jonathan.leffler@gmail.com> #include <disclaimer.h>
Guardian of DBD::Informix - v2011.0612 - http://dbi.perl.org
"Blessed are we who can laugh at ourselves, for we shall never cease to be
amused."
--00151773ea64925eb204ac5b6d2b
Thanks for your reply Jonathan,
the problem seems to be solved (at least for the moment), several reboots must
indicate if the solution is permanent.
I try to explain :
Users logging in into the system were working without problems, client-server
connections were not OK, (wrong date-format)
and this after a reboot of the Informix server. (Nothing changed on server or
on Windows-clients)
So what's the difference for those connections : the execution of /etc/profile
The same applies if you reboot the system (/etc/profile not executed) or if
you stop and restart only Informix (/etc/profile executed because you are
logged in).
The variable DBDATE is one of the values that are set in /etc/profile, so not
present in the Informix environment after a reboot.
I adapted the startscript and added ". /etc/profile" before the start of
Informix, and now DBDATE is present in "onstat -g env",
hope this solution holds after several reboots.
Best regards,
Jacques Lapeire
-----Original Message-----
From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of Jonathan
Leffler
Sent: Wednesday, September 07, 2011 5:17 PM
To: ids@iiug.org
Subject: Re: CLIENT_LOCALE where to define on server [24875]
On Wed, Sep 7, 2011 at 04:00, JACQUES LAPEIRE <
jacques.lapeire@ts.fujitsu.com> wrote:
> Have a strange problem on Solaris 9 Sparc, IDS 9.40 UC6.
>
Beware of old systems...
> Apparently after a reboot, all ODBC-connections indicate problems with
> DATE-format. Users logged in to the server and working locally have no
> problem.
> Isql with select on date works correctly.
> Dates seem to be correctly registered in the tables.
>
> In the output of "onstat -g env" I see some differences, compared to an
> other
> system (IDS 9.40 UC7).
>
> CLIENT_LOCALE is missing (where is this defined on the serverside ??)
>
The CLIENT_LOCALE is sent to the server by the client and is used to handle
each connection separately. It is not usually set on the server because the
server does not know the client's locale until the client tells it.
> DBTEMP is not displayed correctly (DBTEMP=/d02/TEMPINFORMIX is set in
> /etc/profile, with an export of course)
>
> Any help will be appreciated.
>
> Thanks
>
> Here's the output of onstat -g env on the system :
>
> IBM Informix Dynamic Server Version 9.40.UC6 -- On-Line -- Up 1 days
> 22:15:52
> -- 694272 Kbytes>
> Server start-up environment:
>
> Variable Value [values-list]
> DBDELIMITER |
> DBPATH .
> DBPRINT lp -s
> DBTEMP /tmp
> INFORMIXDIR /p02/infor94
>
> [/p02/infor94]
>
> [/usr/informix]
> INFORMIXSERVER brugshm
> INFORMIXTERM termcap
> LANG C
> LC_COLLATE C
> LC_CTYPE C
> LC_MONETARY C
> LC_NUMERIC C
> LC_TIME C
> LKNOTIFY yes
> LOCKDOWN no
> NODEFDAC no
> ONCONFIG brug.conf
> PATH /usr/sbin:/usr/bin
> SERVER_LOCALE en_US.819
> TBCONFIG onconfig
> TERM dumb
> TERMCAP /etc/termcap
> TZ Europe/Brussels
>
Note that the environment can be picked up from the current settings of
whoever last started the server. Unless you are careful, this can lead to
problems when the DBA team in Malaysia (say) restarts the server with their
local time zone instead of the Europe/Brussels (or if the team in San Diego
restarts the server with US/Pacific time).
--
Jonathan Leffler <jonathan.leffler@gmail.com> #include <disclaimer.h>
Guardian of DBD::Informix - v2011.0612 - http://dbi.perl.org
"Blessed are we who can laugh at ourselves, for we shall never cease to be
amused."
--00151773ea64925eb204ac5b6d2b
*******************************************************************************
Forum Note: Use "Reply" to post a response in the discussion forum.
Related threads
- Posting from the Informix-list
- Migrating from IDS 9.40.UC6 to 11.50.UC3
- Ip for a network session
- questions onstat -g