NLS problem to Oracle DB

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
jasper
Participant
Posts: 111
Joined: Mon May 06, 2002 1:25 am
Location: Belgium

NLS problem to Oracle DB

Post by jasper »

Hello,

We've just setup Datastage 8 with NLS enabled. Previously we were working on 7.5 without NLS. So I have no NLS experience

Our Oracle DB is set to american_america.al32utf8 , while the client connection is configured as NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252. (this is something that's working for a lot of other applications allready and something we can't change.)

Importing table structures into Datastage is no problem. When I set the NLS in datastage to windows-1252 I get no error and no records when viewing data.(there are records in the table) When I set to any other I get an error like:
The NLS character map <UTF-8> specified may not be compatible with
the character set specified by NLS_LANG;
you may get unexpected results from your database.

And also no records.

When I run the job with NLS as windows-1252 I get an info in the log:
'20952 Bus Error - core dumped'
(number changes every time) after which the job aborts.

I have no clue anymore, anyone with more experience?
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Please Search the forum for how to deal with NLS_LANG which is actually nothing at all to do with DataStage; it is an environment variable used by Oracle. Nonetheless it has to be set (correctly) for DataStage to interact successfully with Oracle.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
jasper
Participant
Posts: 111
Joined: Mon May 06, 2002 1:25 am
Location: Belgium

Post by jasper »

I don't have access to the premium content right now (request is in the internal pipeline...) so I can only see your first line.

I know NLS_LANG is an oracle specific thing. However I need to follow standards which are applied to our full unix environment. One of these is that no Oracle settings are coded in any environment. We need to call an overall set oracle profile script. Outcome of that is the situation above.
This is something that works for all other applications in our company.


One problem for me is that the names of the possible NLS values look alike but are not the same. Is there maybe some mapping between the Oracle names and the datastage-names?
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

:? So... you have a single Oracle script all jobs should use or different ones for different situations? Still suggest you search for previous NLS_LANG conversations, see if any help.
-craig

"You can never have too many knives" -- Logan Nine Fingers
jasper
Participant
Posts: 111
Joined: Mon May 06, 2002 1:25 am
Location: Belgium

Post by jasper »

Chulett,

We have a single oracle PROFILE script which is indeed used for all unix scripts. This script is offcource smarter then just setting the same environment for all scripts .

At this point we solve this with a workaround:
if we select from oracle using the 'table' option it fails. When changed to 'auto-generated sql' it works. We can continue with this for now, but will have problems in the future when we need to migrate an other project to this server where the migration effort will become bigger.
Post Reply