Activating NLS

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
billsklar
Participant
Posts: 17
Joined: Tue Jul 13, 2004 9:42 am

Activating NLS

Post by billsklar »

It seems that we need to turn on NLS. We've been running without for about a year and I was wondering if there was anything I needed to be aware of before turning it on (i.e. recompiling jobs, new options, server reboot etc.)?

There is no specific language need, it's just that to use nchar or nvarchar we need to have it enabled.

Thanks,

Bill
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

First, your server must have been installed with NLS. If this was done your uvconfig file will have a list of configuration parameters whose names begin with "NLS". NLSMODE is the "master switch" - if NLS is installed but not enabled, then NLSMODE is set to 0. If NLS is not installed, you need to re-install the DataStage server, this time with NLS.

There will be a couple of questions added to the install procedure, about your default language.

Flipping the master switch involves setting NLSMODE to 1, altering any of the other NLS parameters (refer to the NLS Guide which is, these days, part of the standard set of manuals), then regenerating the shared memory image and re-starting DataStage.

You do not need to re-compile any jobs. :D

You do need to be aware that internal storage requirements may increase. With NLS, DataStage internally uses a UTF-8 encoding of Unicode rather than ASCII for its storage of data (for example in hashed files).

(Do you really need NLS for NCHAR? Can't you simply do something like SELECT CAST(NCharColumn AS CHAR(10)) FROM table... ?)
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
billsklar
Participant
Posts: 17
Joined: Tue Jul 13, 2004 9:42 am

Post by billsklar »

The target table uses nchar so I think if nothing else I would get a metadata mismatch ( :( ) for every row.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

If the DataStage metadata specifies CHAR and your SQL specifies CAST(column AS CHAR) then you will not get a metadata mismatch. The metadata are compared against the result set on a SELECT, not on the base tables.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Post Reply