OCI:20053 溢出错误

Oracle 数值数据类型最多可存储 38 个字节的精度。超出了.net数据精度,所以会在转换时出现溢出错误。

解决方法:

1、用To_Char,即原有sql语句中,将值列更换为to_char(value).

SELECT TO_CHAR(1/3) FROM DUAL;

2、使用round,限制小数位长度。

SELECT ROUND(1/3,16) FROM DUAL; 

推荐使用第一种方法,小数位数由公共运行时控制。

-----------------------

还有人说oracle9.2.0.4下可以打Oracle补丁包解决,详见:

http://excel.cnblogs.com/archive/2005/11/14/276202.html

不过oracle10G,版本还是存在该问题,莫非还需要打补丁包?

原文地址:https://www.cnblogs.com/xinyuxin912/p/1403637.html