ETL ORA-01438:值大于此列指定的允许精确度 informatica ORA-01438:值大于此列指定的允许精确度

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'   是正确的

 

 

 

 

 

你可能感兴趣的:(Informatica)