原文: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