OracleException: OCI-22053: 溢出错误
今天写.net(1.1版本)代码的时候报了这个错误。该代码的主要功能是使用OracleDataAdapter填充DataSet。查了网上相关的内容后,得知是数字类型的字段的位数过多造成的。
对于数字类型的字段,填充DataSet的时候会调用GetValues方法,数字类型的值将从OracleNumber类型转换成System.Decimal类型,后者的取值范围比前者小,所以可能会引发溢出错误。解决的方法是不使用Fill方法填充DataSet,而是直接调用OracleDataReader.GetOracleValues。(原因及解决方法来源于:PC Review)