刚刚还在整东西。。。不过不知道为什么查不出来东西。。。
用的是VB.Net
但是查询用的SQL语句很正常。。。直接放在cmd的sqlplus下能运行出结果。。。
在程序中Debugging的时候发现try。。。catch的时候抛出异常了,是OCI-22053: 溢出错误
后来查出来是因为在sql语句中有数字类型,而且是通过计算得出来的(sql中用了不少的加减乘除),而这个.Net的封装中数字的数据类型最多好像只有38位。。。位数超了。。
没办法。。。只得老老实实的加上round(XXXX,XX)用来四舍五入。。。
听说用Oracle的封装lib就不会出现问题。。。问题是。我们现在就是用的Oracle提供的.Net的lib啊。。。
作者在使用VB.Net进行数据库操作时遇到OCI-22053溢出错误,原因是SQL语句中涉及大量数值运算导致位数超出.NET支持的最大38位。通过添加ROUND函数解决,并提及使用Oracle提供的.NET lib亦未能避免此问题。
1567

被折叠的 条评论
为什么被折叠?



