implicit conversion error

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
sudhakar_viswa
Participant
Posts: 85
Joined: Fri Nov 18, 2005 5:35 am

implicit conversion error

Post by sudhakar_viswa »

Hi,

I am getting this error while i am using oracle as a lookup.

Oracle_Enterprise_10: When checking operator: When binding output interface field "MRATE" to field "MRATE": Implicit conversion from source type "dfloat" to result type "sfloat": Possible range/precision limitation.

Can anybody help

Thanks,
sudhakar
i need to know datastage
balajisr
Charter Member
Charter Member
Posts: 785
Joined: Thu Jul 28, 2005 8:58 am

Re: implicit conversion error

Post by balajisr »

sudhakar_viswa wrote:Hi,

I am getting this error while i am using oracle as a lookup.

Oracle_Enterprise_10: When checking operator: When binding output interface field "MRATE" to field "MRATE": Implicit conversion from source type "dfloat" to result type "sfloat": Possible range/precision limitation.

Can anybody help

Thanks,
sudhakar
There is a datatype mismatch. Check whether the metadata is same. dfloat(double) has size of 8 bytes and sfloat(float) has size of 4 bytes. Truncation may occur.
sudhakar_viswa
Participant
Posts: 85
Joined: Fri Nov 18, 2005 5:35 am

Post by sudhakar_viswa »

Hi,

It is having same data type.

Thanks,
sudhakar
i need to know datastage
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

What does the stage in DataStage show for the datatype and length and what does a describe on the table from your favorite SQL query tool show? There will be a difference.
sud
Premium Member
Premium Member
Posts: 366
Joined: Fri Dec 02, 2005 5:00 am
Location: Here I Am

Post by sud »

Hi,

I faced the same problem for fields with float(126) defined in Oracle. The funny thing is that if you check the OSH associated with the job you will see that a conversion is being done from dfloat to sfloat which is shocking since it is not asked for(really cannot comment on how exactly the float is treated by datastage, datastage is not good at handling floats nyways and mostly throws warnings). The problem was obviously resolved when I used a cast function while reading the data from Oracle Enterprise stage using SQL. But I hate the concept of having to write a SQL in a source stage since this kind of debilitates the job from using RCP in case of change in metadata. Nyways. :?
It took me fifteen years to discover I had no talent for ETL, but I couldn't give it up because by that time I was too famous.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Re: implicit conversion error

Post by ray.wurlod »

sudhakar_viswa wrote:Hi,

I am getting this error while i am using oracle as a lookup.

Oracle_Enterprise_10: When checking operator: When binding output interface field "MRATE" to field "MRATE": Implicit conversion from source type "dfloat" to result type "sfloat": Possible range/precision limitation.

Can anybody help

Thanks,
sudhakar
It's not an error. It's a warning. DataStage is warning you that a number stored as a dfloat may be too large to fit into an sfloat field. If you are confident that the numbers will never be this large, then set up a message handler to demote this warning to informational. Alternately, ensure that the number can be handled as dfloat throughout. This may involve increasing the precision of the column in the Oracle table.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
gsherry1
Charter Member
Charter Member
Posts: 173
Joined: Fri Jun 17, 2005 8:31 am
Location: Canada

Post by gsherry1 »

I have this warning as well. In my situation I imported some SQL Server fields, and in DataStage these fields appeared as Float with length of 15 and unspecified precision.

The following warning appears at runtime:
SQLServerReadStage: When checking operator: When binding output interface field "ASourceTableFloatCol" to field "ASourceTableFloatCol": Implicit conversion; from source type "dfloat" to result type "sfloat": Possible range/precision limitation
It appears as though the engine thinks that the source is double, even though the import metadata interface chose float. I eliminated this warning by manually changing my DataStage metadata float columns to Double.

Is this manual updates of float columns in DataStage metadata standard practice when dealing with SQL Server, and you wish to avoid this warning?

Greg
Post Reply