SQLLDR truncating decimal places beyond a scale of 10

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
Bill_G
Premium Member
Premium Member
Posts: 74
Joined: Thu Oct 20, 2005 9:34 am

SQLLDR truncating decimal places beyond a scale of 10

Post by Bill_G »

I am using the OCI stage with the Load option in DS 7.5.1a on Linux - writing to an Oracle 10g database.

I have values with more than 10 decimal places. I've tried using several datatypes: Decimal, Double and text but still the digits are being lost with the Load option I've converted these numbers to text in hopes of avoiding the rounding issue. However when I attempt to load these values in DS with the Load option that uses SQLLDR the decimals after the 10th are lost. If however the Upsert option is used the decimals are all preserved.

Is there a parameter I haven't considered?

Thanks.
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

If you add the environment $APT_ORA_WRITE_FILES then the SQLLDR files will be visible to you after the run. If you check the data files and the precision in them is correct then you will need to look at Oracle regarding fixing this. Only if the data files contain truncated values is the error on the DataStage side (in which case you probably need to report this to your service provider). I am assuming that the precision values in your job are set correctly, but that is probably the case if the upsert method is working correctly.
Bill_G
Premium Member
Premium Member
Posts: 74
Joined: Thu Oct 20, 2005 9:34 am

Post by Bill_G »

Thanks for the enviroment variable. I'll give it a shot.
Post Reply