有段日子没做记录了,这段日子一直在排雷(前人埋下的隐患代码,或者直接说bug),今天这个雷让我排了将近大半天,因为是正式上线的系统,只能看后台日志,不能调试,打印出的异常信息不完整,种种的条件不充分,导致问题很难定位。标题上的两个异常,第一个一看就明白是插入的数值大于数据库字段长度,第二个多是 ...
问题模拟: 下载 u DEV db tech st . . admin DEV erp diag rdbms dev DEV trace DEV ora .trc 打开: 可以看到执行情况是先执行 再执行procedure SYS.P DH 的第七行然后执行procedure SYS.P DH 的第六行,发生了问题. 然后结合INSERT INTO DH T VALUES :B ,:B 继续深入 ...
2016-08-31 14:48 0 5228 推荐指数:
有段日子没做记录了,这段日子一直在排雷(前人埋下的隐患代码,或者直接说bug),今天这个雷让我排了将近大半天,因为是正式上线的系统,只能看后台日志,不能调试,打印出的异常信息不完整,种种的条件不充分,导致问题很难定位。标题上的两个异常,第一个一看就明白是插入的数值大于数据库字段长度,第二个多是 ...
问题:项目中突然在更新或者是插入数据的时候报ora01438这个错,知道是number类型精度不匹配,但是自己debug发现并没有出现具体的表和字段 现象:java.sql.BatchUpdateException: ORA-01438: 值大于为此列指定的允许精度 我自己解决 ...
ORA-01438: value larger than specified precision allowed for this column 值大于此列允许的指定精度 此报错信息一般为number类型的长度超过了数据库中定义的长度 解决办法:逐一排查此方法中的数据库操作中类型 ...
快速定位语句: 查询时删除最后一个UNION ALL; 通过结果可以得知是那个字段精度有问题,再把定位语句对应字段的语句单独列出来,替换SELECT中的内容为表主键及问题列,剔除UNION ALL为";" ,再执行即可得知是问题数据 ...
Number的数据声明如下:表示 作用 说明Number(p, s) 声明一个定点数 p(precision)为精度,s(scale)表示小数点右边的数字个数,精度最大值为38,Number(p) 声明一个整数 ...
MySQL的一个系统参数:max_allowed_packet,其默认值为1048576(1M), 查询:show VARIABLES like '%max_allowed_packet%'; 修改此变量的值:MySQL安装目录下的my.ini文件中的[mysqld]段中 ...
今天在插入oracle数据库时,提示“ORA-01438:值大于为此列允许的精度“错误,经网上查找资料后解决了此错误 错误说明 ORA-01438,发生此错误的原因在于我们插入的数据长度超过了字段指定的字段长度,比如插入的数据为102329204123.33829492,小数点前长度为12 ...
ActiveMQ有时会报类似Frame size of 257 MB larger than max allowed 100 MB的错误,意思是单条消息超过了预设的最大值,在配置文件中 <transportConnector name="openwire" uri="tcp ...