I have a JDBC program connecting to an Oracle DB. Where is NLS_LANG set ? It looks like we need to set it on both the client and Oracle DB OS's.
Can anyone explain the reasoning for setting this on the client or the DB OS ? What is the link between this setting and the Oracle DB char set.
I know that JDBC converts between UTF-16 and AL32UTF8 in some cases.
The scenario is this.
1. DB char set is AL32UTF8.
2. WebSphere Java code is unable to store data in the proper charset in the DB
3. DBA wants to set setenv NLS_LANG AMERICAN_AMERICA.WE8ISO8859P1 on the Oracle DB server and reboot it.
When I read this link it is not sure how this could help. Oracle DB server installation must already have set it to a default value.
If we are talking about Oracle JDBC, then setting NLS_LANG on the application server is irrelevant for storage of characters (unless it is an archaic driver version). Setting NLS_LANG on the DB server host is relevant for applications running on the host itself but not for DB clients/application servers on other hosts.
Instead of blindly setting things on servers, describe the issue symptoms in details. Include all involved software with its versions.