Page 1 of 1

segmentation fault

Posted: Tue Jun 24, 2008 12:50 pm
by kirankota79
main_program: An NLS map <ISO-8859-1> is specified, but NLS_LANG is not set. The NLS map must be set to an ICU codepage which is equivalent to the character set specified by NLS_LANG
segmentation fault


Can someone tell me why this problem is occuring.....it occurs many times...sometimes the job works fine but sometimes it gives the above error. Couldn'tt figure out the real problem. Always comes with this nls statement. sometimes if i force compile 2 or 3 times...job runs fine. Is there a permanent solution to it?

Posted: Tue Jun 24, 2008 4:30 pm
by ray.wurlod
NLS_LANG is an environment variable used for database (e.g. Oracle). Although DataStage does not use it, DataStage checks that it is set.

Posted: Wed Jun 25, 2008 4:04 pm
by kirankota79
Hi Ray..Can you tell me a workaround for it....this error is so irritating. i am using oracle 11g on windows 2003 server. Some time jobs work fine with one click and sometime i need rerun the job many times. What i need to setup in order to avoid this? always the same error!

ray.wurlod wrote:NLS_LANG is an environment variable used for database (e.g. Oracle). Although DataStage does not use it, DataStage checks that it is set.

Posted: Wed Jun 25, 2008 4:18 pm
by ray.wurlod
There's no workaround. You need to have NLS_LANG set if you're going to communicate Unicode data to/from the database server. End of story.

Posted: Wed Jun 25, 2008 4:45 pm
by kirankota79
in the administrator when i see the nls properties of this particular project it is shown as default map name ISO-8859-1 and there is nothing else to set.

Posted: Wed Jun 25, 2008 5:25 pm
by kirankota79
on the database side the nls_characterset is UTF8

Posted: Wed Jun 25, 2008 8:19 pm
by keshav0307
define a variable $NLS_LANG = AMERICAN_AMERICA.UTF8 depending upon the language you want to set.
i will prefer at job level variable.