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
Regarding Oracle Enterprise Stage Warnings
Moderators: chulett, rschirm, roy
-
- Participant
- Posts: 59
- Joined: Sat May 29, 2004 12:31 am
- Location: Pune
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
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.
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
-
- Participant
- Posts: 59
- Joined: Sat May 29, 2004 12:31 am
- Location: Pune
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
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
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
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.
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.
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
-
- Participant
- Posts: 59
- Joined: Sat May 29, 2004 12:31 am
- Location: Pune
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact: