Arabic NLS from Excel sheets

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
morneh
Participant
Posts: 17
Joined: Wed Jan 28, 2004 8:09 am
Contact:

Arabic NLS from Excel sheets

Post by morneh »

Hi

Following from my multiple excel sheet question, I have the following.

The excel sheets I'm trying to load are in arabic. I've tried every single arabic map in NLS but still it refuses to pull those characters into DS.

Did I miss something ?

According to the documentation the ISO8859-6, MS1256 and PC864 maps are the arabic character maps. All I get from using these and several others are question marks.

Am I doing something wrong ? Doesn't the Excel ODBC driver read the characters correctly or is it something on DS's side that's not set up correctly ?

Thanks again for all the help
Morne
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

hello morneh,

when you read the excel sheets through DataStage what happens? Does the data come over incorrectly, does DS burp and give mapping errors or does something else happen? In general you should have no issue with arabic characters - they are even single-byte so don't need any multibyte conversions.

When you say you see only question marks, is this from within the "View Data" window (this will always show only ??? for multibyte). Very often with NLS issues DataStage actually does the work correctly but the display of the result doesn't; i.e. if you are writing to Oracle make sure the session settings are correct, or to check functionality write to a sequential file and use an editor or viewer that you are certain displays the NLS characters correctly.
morneh
Participant
Posts: 17
Joined: Wed Jan 28, 2004 8:09 am
Contact:

Post by morneh »

Hi

I used 'View Data' at the start but figured that the viewer through DS might be wonky since reading from a SQL Table gives me the proper characters.

So I wrote the Excel sheet via DataStage to a Sequential file. Opened the file in MS Word, the characters are still not correct as they appear as '?'.
No error messages nor any warnings appear.

I'm not sure how to find out if the error is occuring on the Excel ODBC or somewhere in DS.
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Morneh,

assuming you are not getting NLS warnings or errors, try writing the output to a sequential file, but for a column who contents you know contain only arabic characters put in a transform that outputs UNISEQ(InputColumn[1,1]) which should show the ASCII value of the first character in that column. This value must be identical to it's arabic representation. Your input map should be that of the document or your system default.
alraaayeq
Participant
Posts: 35
Joined: Sun Apr 04, 2004 5:57 am
Location: Riyadh,Saudi Arabia

That's a challenging job

Post by alraaayeq »

we had many issues while we tried to load arabic from IBM mainframe to Oracle under UNIX platform.

I think:
seeing '?' means the DS job did wrong NLS mapping, where garbage characters means either you got NLS mapping issue or fortunately viewing issues ( you GUI font is not arabic nor any arabic supported codepages).



things to consider:
1- your OS can support multi-language code pages
2- your personal setting is set to view multilanguage code pages
3- your target outputs/tables/files can store multi-language code pages
Amos.Rosmarin
Premium Member
Premium Member
Posts: 385
Joined: Tue Oct 07, 2003 4:55 am

Post by Amos.Rosmarin »

Hi,

I am using datastage and MS excel with Hebrew (MS1255) and Hungarian (1252) with no problem
Assuming the map is correct (both in datastage and the ODBC map), if you set up the server and the project correct there should be no problem.

Check your project NLS settings (in the server and in the project level)
Verify that the DS server machine has Arabic as it's default language (in the control pannel --> regional settings)
Since you are working with Windows server you should use MS1256 and MS1256-CS. (8859-6 is for unix and PC864 is for ASCII7)

The '?' you are getting not always indicate that the data is wrong, sometimes it is only the display that is wrong. The best way to verify it is to print from DS routine the uniseq/unichar value.

HTH,
Amos
Post Reply