Page 1 of 1

arabic data reading problem

Posted: Wed May 28, 2008 5:16 am
by waklook
Hi,
i am trying to read data from db2 v8 on AIX to oracle database using
db2 wire protocol, the tables contains Arabic data, the problem is the
Arabic data coming as ??????, the code page for the db2 is 1208.
i am using NLS =UTF8 in the ODBC stage.

any help is very appreciated.

(i searched the forum and i did not find anything helpful for me)

thanks in advance

Posted: Wed May 28, 2008 6:46 am
by srimitta

Posted: Wed May 28, 2008 9:48 am
by sia_999
Datastage will display always in ??? question marks, you load the data to the oracle database then use the sqlplus to see the data. or try to change in the registry setting NLS_LANG=AMERICAN_AMERICA.AR8MSWIN1256

Posted: Sat May 31, 2008 4:56 am
by waklook
thanks for all valuable input,
sorry for replaying late, bcz our weekend is Thursday and Friday,

sia_999, i am seeing this ???? and unreadable characters using TOAD and sqlplus, i know we cannot see it from inside datastage.
any other solutions/ideas?

i moved one step that i can see correct data when loading it to sequential file, my problem now is to insert it correctly in the oracle target DB, i test all available NLS, but i get same result.
thanks for your replaying time.

Posted: Sat May 31, 2008 6:06 am
by sia_999
waklook wrote:thanks for all valuable input,
sorry for replaying late, bcz our weekend is Thursday and Friday,

sia_999, i am seeing this ???? and unreadable characters using TOAD and sqlplus, i know we cannot see it from inside datastage.
any other solutions/ideas?

i moved one step that i can see correct data when loading it to sequential file, my problem now is to insert it correctly in the oracle target DB, i test all available NLS, but i get same result.
thanks for your replaying time.
you need to do two things

first make sure that inserting some test data from toad and select the information, if it display correctly then the second step is to findout what is the code page of oracle is set, by issueing this command.
SELECT * FROM sys.V_$NLS_PARAMETERS WHERE PARAMETER = 'NLS_CHARACTERSET';
after that source should be utf8 and the destination should be the oracle nls_characterset, I hope this will resolve your problem.

Posted: Sat May 31, 2008 6:53 am
by waklook
Thanks again sia_999;

i did insert one row and it's fine.
the query output was 'AR8ISO8859P6',
i used 'IS08859-6' for the target and 'UTF8' for the source and no succeed.

Posted: Sat May 31, 2008 7:11 am
by sia_999
waklook wrote:Thanks again sia_999;

i did insert one row and it's fine.
the query output was 'AR8ISO8859P6',
i used 'IS08859-6' for the target and 'UTF8' for the source and no succeed.
you can try one more thing add the two lines to the dsenv file as

NLS_LANG="AMERICAN_AMERICA.AR8ISO8859P6"
NLS_LANGUAGE="AMERICAN_AMERICA.AR8ISO8859P6"

then restart the etl service.

Posted: Sat May 31, 2008 7:44 am
by waklook
our datastage engine installed on windows server,i am not finding the dsenv file, where can i find it on windows?

Posted: Sat May 31, 2008 4:20 pm
by ray.wurlod
There is no dsenv file on Windows-based DataStage servers. You can set up environment variables using Control Panel > System > Environment.
(Depending on which version of Windows, Environment may be a command button on one of the tabs in the System dialog.)

Posted: Sun Jun 01, 2008 3:35 am
by waklook
thanks to Srimitta, Sia_999, Ray and for all,

i have solved the problem by using 'UTF8' - source and 'MS1256' - target.

i will mark this issue as closed

Posted: Sun Jun 01, 2008 6:23 am
by chulett
Which means you should scroll up to your first post and mark the topic as 'Resolved'. :wink: