原文:ORA-01438: value larger than specified precision allowed for this column & Could not synchronize database state with session

有段日子没做记录了,这段日子一直在排雷 前人埋下的隐患代码,或者直接说bug ,今天这个雷让我排了将近大半天,因为是正式上线的系统,只能看后台日志,不能调试,打印出的异常信息不完整,种种的条件不充分,导致问题很难定位。标题上的两个异常,第一个一看就明白是插入的数值大于数据库字段长度,第二个多是因为Number类型的字段导致,比如精度不足。我们的这次问题原因是程序员在做除法运算时没有对除数进行非零判 ...

2014-05-01 22:05 0 5152 推荐指数:

查看详情

Could not synchronize database state with session问题,说保存空

Could not synchronize database state with session问题,说保存空 ,可以在post.hbm.xml文件里设置inverse="true",这样就可以完美的解决这个问题,主要是person_post里的post为联合主键,它不能为空 或者更新 ...

Mon Aug 25 22:24:00 CST 2014 0 3157
ORA-01438错误的解决方法

问题:项目中突然在更新或者是插入数据的时候报ora01438这个错,知道是number类型精度不匹配,但是自己debug发现并没有出现具体的表和字段 现象:java.sql.BatchUpdateException: ORA-01438: 值大于为此列指定的允许精度 我自己解决 ...

Wed Nov 05 01:18:00 CST 2014 0 19959
oracle报ORA-01438错误

ORA-01438: value larger than specified precision allowed for this column 值大于此列允许的指定精度 此报错信息一般为number类型的长度超过了数据库中定义的长度 解决办法:逐一排查此方法中的数据库操作中类型 ...

Wed Jan 09 00:00:00 CST 2019 0 1426
ORA-01438: 值大于为此列指定的允许精度

Number的数据声明如下:表示 作用 说明Number(p, s) 声明一个定点数 p(precision)为精度,s(scale)表示小数点右边的数字个数,精度最大值为38,Number(p) 声明一个整数 ...

Tue Nov 29 23:36:00 CST 2016 0 10788
MySQL Packets larger than max_allowed_packet are not allowed

MySQL的一个系统参数:max_allowed_packet,其默认值为1048576(1M), 查询:show VARIABLES like '%max_allowed_packet%'; 修改此变量的值:MySQL安装目录下的my.ini文件中的[mysqld]段中 ...

Sat Jan 31 22:38:00 CST 2015 0 3002
ORA-01438: 值大于为此列指定的允许精度 问题查找

快速定位语句: 查询时删除最后一个UNION ALL; 通过结果可以得知是那个字段精度有问题,再把定位语句对应字段的语句单独列出来,替换SELECT中的内容为表主键及问题列,剔除 ...

Tue Dec 29 20:36:00 CST 2020 0 378
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM