ETL ORA-01438:值大于此列指定的允许精确度 informatica ORA-01438:值大于此列指定的允许精确度
今天发现100多万条数据,就剩下61条数据,无法抽取成功,于是,开始进行啦数据的比较,比较抽取成功的数据和无法抽取的数据,发现没有什么不一样的,源表的数据都是一样,就是无法抽取成功,下午过来再看一下,发现是源表和目标表字段格式设置的问题
源表:number(10) ,目标表:number(5,4)
仅仅当源表该字段为:0时,可以正常抽取成功,
但是,当该字段不为:0时,抽取失败 ETL ORA-01438:值大于此列指定的允许精确度 informatica ORA-01438:值大于此列指定的允许精确度
最后将目标表:字段修改成:number(10)
搞定了
上午又进行数据的比较:
期初比较的值:源表:'0.900000000000000' 字段精度:number(28,10) ,一直以为是这个精度的问题
但是ETL在抽取时,是将number 类型转换为double类型的,所以这个抽取完全正常
虽然:字段精度小数位:numbe(28,10)
--- 小数位10位,但是在ETL中这个'0.900000000000000' 是正确的