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
Activating NLS
Moderators: chulett, rschirm, roy
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
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... ?)
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.
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
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.
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.