Error during Arabic data loading from text file

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
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

This probably means that while you have used MS-1256 within DataStage, the Oracle Database or output table has another character set defined which cannot hold some character that is available in MS-1256. What are your Oracle NLS settings (check in Oracle, not DataStage)
userasif
Participant
Posts: 50
Joined: Tue Jun 06, 2006 5:57 am

Post by userasif »

The target Oracle database Character set is
NLS_CHARACTERSET = AR8MSWIN1256 and
NLS_NCHAR_CHARACTER = AL16UTF16
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

If you disable operator combination, which stage is the one generating the message - the input or output one?
userasif
Participant
Posts: 50
Joined: Tue Jun 06, 2006 5:57 am

Post by userasif »

After some changing now I am getting this message:
At row 1, link "OutLink"
Inserted value too large for column, row rejected.
userasif
Participant
Posts: 50
Joined: Tue Jun 06, 2006 5:57 am

Post by userasif »

After some changing now I am getting this message:
At row 1, link "OutLink"
Inserted value too large for column, row rejected.
Grace J.
Participant
Posts: 22
Joined: Mon Nov 03, 2008 5:34 am

Post by Grace J. »

[quote="userasif"]After some changing now I am getting this message:
At row 1, link "OutLink"
Inserted value too large for column, row rejected.[/quote]

Try by giving tripe the size of the original column size for Arabic columns. Because Arabic characters are not of same size as English characters
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

For NLS applications you should always make sure that, in Oracle, you declare strings using VarChar2(32 Char) so that 32 characters can be used. If you use the default, then just 32 bytes would be reserved and you couldn't store 32 multibyte characters into that strnig.
userasif
Participant
Posts: 50
Joined: Tue Jun 06, 2006 5:57 am

Post by userasif »

I have used varchar2(32 char) but same error. Can you please tell me which oracle data type I should use?
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Varchar2 is the appropriate type for string values up to 4000 characters. I used "32" as an example - you might need a longer string - what is your input string maximum length?
userasif
Participant
Posts: 50
Joined: Tue Jun 06, 2006 5:57 am

Post by userasif »

Maximum length is just 500.
Please consider new scanrio:
I have created table t1: c1 number(10), c2 varchar2(1000)
I have inserted Arabic word in c2 and it is fine and display is SQL Plus is also fine as Arabic word.
I have also created a new ETL job that loads data from table t1 to table t2 in target database just to check NLS Mapping.
I am getting the following message in Input Stage:
"Oracle data type not presently supported".

Any Help??????????/
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

What datatype did you specify in Oracle? Could it be a long type or blob? Also, use "VarChar2(1000 char)"
userasif
Participant
Posts: 50
Joined: Tue Jun 06, 2006 5:57 am

Post by userasif »

It is already Varchar2(1000)..I have mentioned in post
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

He's looking for clarification on how it was created in Oracle: as 1000 bytes or 1000 characters? Makes a huge difference when dealing with multibyte character sets.
-craig

"You can never have too many knives" -- Logan Nine Fingers
Post Reply