Page 1 of 2

want to capture data which is causing error

Posted: Mon Aug 30, 2010 12:04 am
by tanaya.deshpande@tieto.co
In my job 1 row(or many ) is giving implicit conversion error .

how can I find the row which is causing trouble in thousand and millions of rows.The column which is having the error is not any key,can accept nulls and has datatype float.

Posted: Mon Aug 30, 2010 12:20 am
by anand_dafaria
Please put the exact error emssage...

Posted: Mon Aug 30, 2010 12:24 am
by anand_dafaria
What is the target column data type you are putting your source column into and in which stage this error is coming? For checking which value is causing the error you can try a sample job by restricting the input rows to 10 or 20 to check it.

Posted: Mon Aug 30, 2010 12:33 am
by tanaya.deshpande@tieto.co
There is no conversion.it is simple mapping of column from oracle sourse to
sqlserver target. I have not done any null handling.

this is the warning :

Copy_of_MAXIMO_WORKORDER: When checking operator: When binding output interface field "ABBESTDOWNTIME" to field "ABBESTDOWNTIME": Implicit conversion from source type "dfloat" to result type "sfloat": Possible range/precision limitation. [api\interface_rep.C:6183]


this is the error:

Copy_of_MAXIMO_WORKORDER,0: (aptoci.C:460). Message: ORA-01438: value larger than specified precision allowed for this column
[aptoci.C:1011]



I have checked with changing the datatype of column from float to double but it does not work

Posted: Mon Aug 30, 2010 12:49 am
by ray.wurlod
Did you change it in Oracle? In Maximo?

Posted: Mon Aug 30, 2010 12:52 am
by tanaya.deshpande@tieto.co
I changed datatype from float to double in both oracle source as well as sqlserver target

Posted: Mon Aug 30, 2010 12:54 am
by nani0907
what is the data type used for this column in oracle source stage field "ABBESTDOWNTIME".

Posted: Mon Aug 30, 2010 12:55 am
by tanaya.deshpande@tieto.co
float

Posted: Mon Aug 30, 2010 1:09 am
by nani0907
in query by cast function ,convert it as varchar like this cast(Trim(ABBESTDOWNTIME) as varchar

and while inserting it into sql server again convert it as target table column data type

Posted: Mon Aug 30, 2010 1:22 am
by anand_dafaria
Try putting a modify stage in between the source and target. Keep the source column datatype as dfloat and the target datatype as sfloat (as required by target SQL server). Datastage does an implicit conversion from dfloat to sfloat. Give it a try.

Posted: Mon Aug 30, 2010 2:42 am
by tanaya.deshpande@tieto.co
Modify stage does not work...
this is what i gave in the specification

ABBESTDOWNTIME:sfloat=ABBESTDOWNTIME


is this correct

Posted: Mon Aug 30, 2010 2:42 am
by tanaya.deshpande@tieto.co
the cast function also does not work
cast as varchardoes not work

Posted: Mon Aug 30, 2010 2:50 am
by anand_dafaria
I dont have server connection right now, otherwise would have checked at my end instead of hit and trial. The modify specification is wrong.

Just map it directly and let datastage does the automatic conversion.
ABBESTDOWNTIME=ABBESTDOWNTIME

Posted: Mon Aug 30, 2010 4:43 am
by tanaya.deshpande@tieto.co
I have tried to use modify stage but it does not work

I am still getting this warning

Filter_61: When checking operator: When binding output schema variable "outrec": When binding output interface field "ABBESTDOWNTIME" to field "ABBESTDOWNTIME": Implicit conversion from source type "dfloat" to result type "sfloat": Possible range/precision limitation.

Posted: Mon Aug 30, 2010 6:26 am
by tanaya.deshpande@tieto.co
does anyone know how i can find the row or rows which are giving errors