Regarding Oracle Enterprise Stage Warnings

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
Vijay Kumar
Participant
Posts: 59
Joined: Sat May 29, 2004 12:31 am
Location: Pune

Regarding Oracle Enterprise Stage Warnings

Post by Vijay Kumar »

Hi,
I am extracting data from Oracle 9i Database to a sequential file using Oracle Enterprise Stage.
The following are the NACHAR settings on the Oracle database:
NLS_CHARACTERSET= ALT32UTF8
NLS_NCHAR_CHARACTERSET=ALT16UTF16.

The columns in the table are defiend as Varchar2(50 CHAR). I have defiened them as Varchar(50) in Oracle Enterprise Stage. When I run the job the job log shows the following warning messges for each of the varchar fields:

Implict conversion from source type 'string max[200] to result type max=50. Possible truncation of variable length string

NSL on the Datastage is not enabled(since only ASCII characters are expected in the data).

Can any one tell where I am doing wrong? Are there any other settings on the datastage that should be checked to ensure that the Enterprise stage interprets the field lenghts correctly?

Any pointers on the above issue would be very helpful.

Thanks & Regards,
Vijay
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Your source is defined as VarChar(200), which is what is meant by the C representation string[max=200]. Your target is defined as VarChar(50), or string[max=50]. DataStage is warning you that this situation can result in truncation of source data, because you are not explicitly handling the truncation.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Vijay Kumar
Participant
Posts: 59
Joined: Sat May 29, 2004 12:31 am
Location: Pune

Post by Vijay Kumar »

Ray,
The table creation scripts shows it as Varchar2(50 CHAR).
Is that Varchar2(50 CHAR) is equal to Varchar(200) in DS because of NLS_CHARCTERSET=ALT32UTF8 settings in Oracle??
If that is the case, then do DataStage process in terms of number of characters or in terms of number of bytes?
My Down stream system accepts only 50 characters for these fields.

If I read it as Varchar(200) and write to sequential file as Varchar(50)- then is there any possibility for truncation of data??

Regards,
Vijay
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Is that Varchar2(50 CHAR) is equal to Varchar(200) in DS because of NLS_CHARCTERSET=ALT32UTF8 settings in Oracle?? No. That might give 100, but not 200.

If I read it as Varchar(200) and write to sequential file as Varchar(50)- then is there any possibility for truncation of data?? Yes. Think about it.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Vijay Kumar
Participant
Posts: 59
Joined: Sat May 29, 2004 12:31 am
Location: Pune

Post by Vijay Kumar »

Ray,
NLS is not enabled on our DataStage. Is this might be the reason for the issue???
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Almost certainly no.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Post Reply