Page 1 of 1

Unwanted data conversion

Posted: Fri Mar 03, 2006 2:01 pm
by babbu9
Hi
I have a SQL server source with an NLS of SQL_LATIN1_GENERAL_CP1_CI_AS
and an Oracle Target with NLS settingof AMERICAN.

When I load data from source to target, some of the data is being changed
Ex: ? changed to |

Is this an NLS problem? What is the correct NLS setting that can be used in this case.

The Current NLS setting on the souce and target stages is windows-1252.
We are facing a lot of problems with NLS and do not know how to set NLS once for all so that we dont have to deal with it again.

Thanks

Posted: Sat Mar 04, 2006 3:14 am
by ArndW
Your source data is encoded in character set that I don't know - but you need to check if the extended (non-latin) characters are mapped the same way that Windows-1252 maps them. If not you will get misconverted characters.

NLS is not as complex as it seems - the difficulty lies in making sure that you know which set you are using at any stage and what conversions the system is doing. If in doubt, always take a row of data that you know and print out the ASCII values to see what has happened to that character. Never rely on the displayed glyph; most of the time the so-called error isn't in the data but in the display layer (be it "view data" in a designer window or printing out of data from a text file).