Page 1 of 1

Invalid Character conversion

Posted: Mon Dec 10, 2007 12:36 am
by sendmkpk
Hi All,

I am getting the following warning. Why is this and how to avoid it. I checked the posts already but did not get a solution. Any help please

Trn_Columns,1: Invalid character conversion found converting to ISO-8859-1, substituting. [nls/converter.C:830]

In the transformer Trn_Columns I am only using StringtoDate() function

Posted: Mon Dec 10, 2007 3:43 am
by ArndW
If you remove the column with the StringToDate() does the error go away or remain?

Posted: Mon Dec 10, 2007 6:32 am
by ArndW
Find out which ASCII character they map to, and use CHAR(nnn) to see if the error goes away. Which one of the 3 is causing the issue?

Posted: Tue Dec 11, 2007 3:52 am
by ArndW
I don't understand what you mean by it returning a space. You don't need a trim, just try COUNT(r command could be written as:

Code: Select all

Count(Lnk_Read_Email.EMAIL_METHOD_ID,CHAR(226))>0

Posted: Tue Dec 11, 2007 4:55 am
by sendmkpk
I tried with the function specified but it did not work. It did not recognize the record

Posted: Tue Dec 11, 2007 5:04 am
by balajisr
sendmkpk wrote:I tried with the function specified but it did not work. It did not recognize the record
Do you have NLS installed?

Posted: Tue Dec 11, 2007 5:17 am
by ArndW
sendmkpk wrote:... It did not recognize the record
What does that mean?

Posted: Tue Dec 11, 2007 5:51 am
by sendmkpk
I had the input VarChar field to have the special char which has Char(226) value and ran the job to check if the count was greater than 0. It did not recognize the record.
How do I check if NLS is installed.

Posted: Tue Dec 11, 2007 5:56 am
by Maveric
An escape character might help. Count(In.Col,\CHAR(\226)). This might work. Or try \CHAR\(226). Try it and see if it works.

Posted: Tue Dec 11, 2007 5:58 am
by ArndW
I will assume that "did not recognize the record" means that the derivation returned a '0'. This means that the string does not contain a char(226) character. Since you assert that it the source does, this would mean that your NLS settings have remapped the character. If you know the record and position of the character, try to find out what DataStage has mapped this to, it will help us understand the actual problem. Try writing the value of

Code: Select all

SEQ(Lnk_Read_Email.EMAIL_METHOD_ID[23,1])
to a peek stage. This is assuming the character is at position 23 in the string.

Posted: Tue Dec 11, 2007 5:59 am
by Maveric
sendmkpk wrote:It did not recognize the record.
How do I check if NLS is installed.
Is it not recognizing the character i.e count =0 or is it giving any warning?

Posted: Tue Dec 11, 2007 6:27 am
by balajisr
sendmkpk wrote:How do I check if NLS is installed.
If you have NLS enabled then some stages will have "NLS MAP" tab. E.g Sequential file stage. Do you have a tab named "NLS Map" under Stage tab in sequential file stage?