Desktop productivity for business analysts and programmers

NLS_LANG setting in SAS EG working in UNIX server

Reply
Occasional Contributor
Posts: 6

NLS_LANG setting in SAS EG working in UNIX server

I have an encoding issue when query some special charactors from Oracle DB. SAS EG connected to UNIX server have issue to execute and error message is "ORA-29275 - partial multibyte character Enterprise Guide"

 

Followed instrution on NLS_LANG setting http://support.sas.com/kb/51/411.html  I edit Windows "user variable" by creating NLS_LANG paramater. It works on PC SAS or SAS EG (didn't connect to UNIX server). 

 

Also, after added NLS_LANG into UNIX .profile, UNIX SAS is fine but I have to send SAS code command under UNIX platform. 

 

Is there a way to edit SAS EG NLS_LANG, which was working in the UNIX server. It sitll couldn't pull the data (such as customer name or description note) with the same code.

 

 

SAS Super FREQ
Posts: 291

Re: NLS_LANG setting in SAS EG working in UNIX server

Submit this code from EG to check your server session encoding and locale, to make sure they are set as expected:

 

proc options group=languagecontrol;

run;

 

If not, you may be encountering the fact that EG sets the server session locale (which can also alter the server session encoding) by default to match the EG Display language.

 

In Enterprise Guide, see Tools->Options->General->Enterprise Guide language settings->Server session locale.  It defaults to "Use the Enterprise Guide display language".  In which case, when EG connects to a workspace server, it sets the locale on the server session to match EG's display language.  For example, if EG's Display langauge is English, the server session locale will be set to "EN_US".

 

Setting the locale on the server session will also change the encoding if not explicitly set on the server.  So, since the server session locale was set to "EN_US" by EG, the server session encoding might also result in WLATIN1.

 

If you want to preserve the default server session locale and encoding (as configured on the server), change EG's Tools->Options->General->Enterprise Guide language settings->Server session locale option to "Use the locale of the server".

Occasional Contributor
Posts: 6

Re: NLS_LANG setting in SAS EG working in UNIX server

Thank you Casey Smith for your reply.

 

After change SAS EG to "Use the locale of the server", there still is an error message "ORA - 29275 Multibyte character".

 

I think that what I need to change is "NLS_LANG" parameter/variable on SAS EG side as a business end user. So, I don't have access to edit "sasenv_local" as below.

 

File to modify:
/app/sas/sashome/SASFoundation/9.4/bin/sasenv_local
export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1

 

Is anyone have other suggestion to resolve this issue?

 

 

Used "env|grep NLS" in UNIX server and check NLS is correct as below 
NLS_LANG=AMERICAN_AMERICA.AL32UTF8

 

Thank you

 

 

 

Occasional Contributor
Posts: 6

Re: NLS_LANG setting in SAS EG working in UNIX server

NLS_LANG parameter is correct in UNIX and same code works fine to pull data from Oracle DB, which NLS_LANG is "AMERICAN_AMERICA.AL32UTF8".
However, SAS EG didn't refer to UNIX server variables and had that Oracle error message.
Respected Advisor
Posts: 3,887

Re: NLS_LANG setting in SAS EG working in UNIX server

@MicSun

SAS EG is your client which sends SAS code to a SAS Server (i.e. SASApp) for execution. It's the NLS_LANG setting on the SAS Server side which needs to change.

Changing server side configurations is nothing a SAS end user can do. This is a SAS Admin task and you should contact the SAS Admin at your site to get this resolved.

Occasional Contributor
Posts: 6

Re: NLS_LANG setting in SAS EG working in UNIX server

@Patrick

Thank you for your prompt response. I will reach out our company Technology team.

 

 

Ask a Question
Discussion stats
  • 5 replies
  • 151 views
  • 2 likes
  • 3 in conversation