鹰翔宇空

学习和生活

BlogJava 首页 新随笔 联系 聚合 管理
  110 Posts :: 141 Stories :: 315 Comments :: 1 Trackbacks
这两天在做项目时,频频出现:ORA-01401: 插入的值对于列过大的异常,根据经验,我以为是数据为空造成的结果,调了好长时间,仍没有结果,浪费了不少时间,后来才发现,原来是插入的数值和数据库钟表字段的定义的问题。以前的系统默认日期为10位长,现在突然修改成了8位,结果就出问题了。同时,还有一个异常:ORA-01438: 值大于此列指定的允许精确度。这个同样是因为表字段的属性修改了的缘故,以前是numeric(8,4),现在是numeric(4,3),肯定要出问题了。只怪自己不细心阿,其实文档里也挺全的,但是就没看,看了也没在意,一切还是按照以前的习惯,真是坏习惯害死人阿,特写此以警示!
     总结一下,我碰到过的情况:

1。插入的值对于列过大的异常:暂时有两种可能,一是数值为空(null),结果插入时就会抛此异常,   二是因为插入的数值超出了表字段定义的范围,如上。

2。值大于此列指定的允许精确度:主要是因为插入的数值超出了表字段定义的范围,同上。

以后再碰到其它情况就慢慢补充了!
posted on 2006-03-10 08:45 TrampEagle 阅读(5548) 评论(0)  编辑  收藏 所属分类: 学习体会

只有注册用户登录后才能发表评论。


网站导航: