mallybel 发表于 2011-8-26 09:32:29

用例如何覆盖数据库驱动导致的数据错误

本帖最后由 mallybel 于 2011-8-26 09:34 编辑

我们oracle数据,oracle version 9.2, java version 1.5. JDBC driver is ojdbc14.jar provided from oracle
客户反映一个问题他们提交的数据12500000变成12.5,我们测试了一下121~129后面加5个0的,这种几千万的最后一个个位数是0的全都变成小数点向前移动5位,变成12.几的。把数据库驱动换成ojdbc5_g.jar数据就对了。真是坑爹啊~~~:Q

网上也查了一下有个人和我们发生一样的问题
http://www.javalobby.org/java/forums/t88158.html
提问的人也是描述了这种怪异的问题,第6楼有人回复说:
A very good suggestion. I just ran the test. if use BigDecimal bd = new BigDecimal("12500000");
No problem! However, if use
BigDecimal bd = new BigDecimal("1.25E7");
Same problem.

:Q:dizzy:真是坑爹啊~~~
测试没有测出来这个问题,我设计用例的时候没有这类数据,也不知道这个数据有什么代表性。这个怎么办
页: [1]
查看完整版本: 用例如何覆盖数据库驱动导致的数据错误