Character not getting loaded in Oracle through ODBC

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 »

If that was an apostrophe (hex 27) it would have loaded fine. I've had the same issue in the past when the source is something like Word and you get them dang 'smart quotes' rather than a simple apostrophe.

What is your NLS_LANG setting for your database?
-craig

"You can never have too many knives" -- Logan Nine Fingers
memrinal
Participant
Posts: 74
Joined: Wed Nov 24, 2004 9:13 pm

Post by memrinal »

Thanks Chulett.

Code: Select all

NLS_LANGUAGE - American

userenv('LANGUAGE') = AMERICAN_AMERICA.AL32UTF8
Is there some way we can ensure that all such > 80H characters get loaded properly in oracle. (through ODBC would be preferable)
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

First thing would be to verify that your character actually exists in the target character set. If your source and your target use the same character set, you can just load from one straight to the other, otherwise a conversion needs to happen. When the source character set (controlled by the job setting) is different from the target character set (controlled by the database setting) the conversion is automatic.

Where you run into trouble is when the character sets are different but you tell your process they are the same. No conversion takes place and you get 'garbage' in your target.

We use 7.x/Server/OCI here, not sure if there are any nuances to this when using 8.x/PX/ODBC. We also don't have NLS enabled in DataStage where it sounds like you do. Hopefully others will have words of wisdom to add to this.
-craig

"You can never have too many knives" -- Logan Nine Fingers
memrinal
Participant
Posts: 74
Joined: Wed Nov 24, 2004 9:13 pm

Post by memrinal »

This character exists in the target chracter set.
this was one of the first things I tested, by manually inserting the record in the DB through a query.
Post Reply