Spanish Ñ from iSeries to Oracle

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
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

What is the characterset of your target Oracle database?
-craig

"You can never have too many knives" -- Logan Nine Fingers
Boris69
Premium Member
Premium Member
Posts: 23
Joined: Mon Jul 20, 2009 1:26 pm

Post by Boris69 »

chulett wrote:What is the characterset of your target Oracle database? ...
I am not at the machine right now, but is I think it is UTF32
Boris69
Premium Member
Premium Member
Posts: 23
Joined: Mon Jul 20, 2009 1:26 pm

Post by Boris69 »

chulett wrote:What is the characterset of your target Oracle database? ...
NLS_CHARACTERSET=WE8MSWIN1252
NLS_NCHAR_CHARACTERSET=AL16UTF16
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Perhaps the character is being translated incorrectly from DB2 to DataStage. Isolate the characte and use the SEQ() function to determine which ASCII value arrives in DataStage.
Boris69
Premium Member
Premium Member
Posts: 23
Joined: Mon Jul 20, 2009 1:26 pm

Post by Boris69 »

ArndW wrote:Perhaps the character is being translated incorrectly from DB2 to DataStage. Isolate the characte and use the SEQ() function to determine which ASCII value arrives in DataStage. ...
I am sorry, I am not sure how to do this
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Change your select to only get rows that have the character in that column. Then find out which position the character is in, i.e. 8, then output SEQ(Input.Column[8,1]) to get the ASCII value as the DataStage job sees it.
Boris69
Premium Member
Premium Member
Posts: 23
Joined: Mon Jul 20, 2009 1:26 pm

Post by Boris69 »

ArndW wrote:Change your select to only get rows that have the character in that column. Then find out which position the character is in, i.e. 8, then output SEQ(Input.Column[8,1]) to get the ASCII value as the DataStage job sees it.
comming as 35, which is #
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

What is the character set of your source database, or source table? You need to tell DataStage this value on order for the DB2 read stage to work correctly
Boris69
Premium Member
Premium Member
Posts: 23
Joined: Mon Jul 20, 2009 1:26 pm

Post by Boris69 »

ArndW wrote:What is the character set of your source database, or source table? You need to tell DataStage this value on order for the DB2 read stage to work correctly ...
it is 37
I created another table and made it 284, no changes

both times comming as 35

Also, I am usning ODBC stage, sorry forgot to tell
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

I don't understand your answer - character set 37 and 284? Are those codesets? What does "GET DATABASE CONFIGURATION" output?
Boris69
Premium Member
Premium Member
Posts: 23
Joined: Mon Jul 20, 2009 1:26 pm

Post by Boris69 »

ArndW wrote:I don't understand your answer - character set 37 and 284? Are those codesets? What does "GET DATABASE CONFIGURATION" output? ...
On DB2 on AS/400 (systemi) you can defined field in a table to be certain character set, like 37 and 284
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

What character sets do those numbers refer to?
Boris69
Premium Member
Premium Member
Posts: 23
Joined: Mon Jul 20, 2009 1:26 pm

Post by Boris69 »

ArndW wrote:What character sets do those numbers refer to? ...
Well, I finaly found a solution:
In ODBC stage I and using Replace function to replcace "wrong" hex value and the converting all to graphic. Not very pleasant but works just fine:

Cast(Replace( F.ABALPH, x'7B',x'69') as graphic (40) ccsid 13488)

thanks for the help
Post Reply