Page 1 of 1

implicit conversion error

Posted: Thu Jun 08, 2006 1:27 am
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

Re: implicit conversion error

Posted: Thu Jun 08, 2006 1:37 am
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.

Posted: Thu Jun 08, 2006 5:03 am
by sudhakar_viswa
Hi,

It is having same data type.

Thanks,
sudhakar

Posted: Thu Jun 08, 2006 5:09 am
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.

Posted: Thu Jun 08, 2006 10:01 am
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. :?

Re: implicit conversion error

Posted: Thu Jun 08, 2006 3:17 pm
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.

Posted: Mon Oct 16, 2006 8:14 am
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