Page 1 of 1

Posted: Sun Mar 07, 2010 12:02 pm
by ray.wurlod
Please look as your destination with something other than View Data. Tell us what's actually loaded. The question mark is simply a mechanism for representing "unmappable character".

Posted: Sun Mar 07, 2010 4:04 pm
by sohasaid
ray.wurlod wrote:Please look as your destination with something other than View Data.
Ray, It also loaded as question marks (?) at the destination when querying the Oracle 10g destination.

Posted: Sun Mar 07, 2010 4:12 pm
by ray.wurlod
What tool did you use for the query? What do you see when you use TO_HEX() in the query?

Posted: Mon Mar 08, 2010 4:52 am
by ArndW
sohasaid,

You stated that the two characters listed in the subject are coming in from
Oracle in a US7ASCII table.

Those characters are not in the 7-bit US ASCII table and therefore are not displayable and changed to '?'.

Posted: Mon Mar 08, 2010 6:07 am
by sohasaid
ArndW wrote:Those characters are not in the 7-bit US ASCII table and therefore are not displayable and changed to '?'.
It seems reasonable. I don't know how these data are inserted into the database but I've to transfer it even it was a rubbish data.

Any Ideas?

Posted: Mon Mar 08, 2010 6:58 am
by ArndW
The issue is that you don't know what character set you are using in your database (the 7 bit one is patently incorrect), so you won't be able to get DataStage to read it correctly using NLS. Go into DB2 and enter 'get db cfg for {your database};'

Posted: Tue Mar 09, 2010 5:56 am
by sohasaid
ArndW, my data source is Oracle RDB not DB2 and I'm quite sure that its character set is US7ASCII.

Posted: Tue Mar 09, 2010 6:44 am
by ArndW
Ok, then your source is Oracle. The two characters you've listed cannot be stored in 7bit ASCII, internally your Oracle is using another character set. You've specified that Oracle converts from the internal character set to 7 bit ASCII and it is there that you are losing these character values. Find out, from your DBA, what character set is being used for this table and set your environment variables accordingly.

US7ASCII DB can have 8Bit data inserted into it

Posted: Wed Apr 06, 2011 7:59 am
by ORACLE_NAC
The Character set enabled at the entry device(Keyboard) may have latin accents enabled. The data entry person can then enter these into the GUI and the DB will compress the 8Bit data into a 7Bit field (Lossy data). This data will then appear to be wingdings, Arabic, upside down question marks etc. I have encountered this problem twice before. The SQL tool, DataStage will Select and Read the data as is (Lossy) but the target DB will reject the data with error messages like data inserted is to large for field definition. To date I have not figured out how to overcome this aside from "cleansing" the data at the source.
Both clients have refused to convert their source DBs to an 8Bit NLS.

Posted: Wed Apr 06, 2011 3:19 pm
by ray.wurlod
Give your clients a list of the ASCII7 characters, with the advice that their decision means that these are the only characters that can be processed.