Load from AS400, record with special character

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
le thuong
Premium Member
Premium Member
Posts: 76
Joined: Wed Sep 09, 2009 5:21 am

Load from AS400, record with special character

Post by le thuong »

my job reads a DB2 table via ODBC and writes to an Oracle table (Oracle connector). some records with column (data type Char) containing special character x'6A' (EBCDIC broken vertical line) get rejected (ORA-12899: value too large for column). Your input is welcome.
Thuong

best regards
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

So just your typical characterset issue with multibyte data going into (I assume) Oracle fields defined using byte semantics. How are each field defined, source and target? Specifically wondering if you are writing to a CHAR(n) where it is actually defined as CHAR(n BYTE).
-craig

"You can never have too many knives" -- Logan Nine Fingers
le thuong
Premium Member
Premium Member
Posts: 76
Joined: Wed Sep 09, 2009 5:21 am

Post by le thuong »

Source (DB2) and target (Oracle) have same column definition, char(10) in this case.
Thuong

best regards
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Which unfortunately doesn't answer my question on the Oracle side... check with your DBA if you're not sure of the difference in semantics. I'll wager DB2 is set to 10 characters and Oracle is set to 10 bytes.
-craig

"You can never have too many knives" -- Logan Nine Fingers
le thuong
Premium Member
Premium Member
Posts: 76
Joined: Wed Sep 09, 2009 5:21 am

Post by le thuong »

You are right. I have redefined my target Oracle column as Char(10 char) instead of Char(10), and the data are correctly loaded. Thanks a lot.
Thuong

best regards
Post Reply