★現(xiàn)象0001
? ? ? ? 系統(tǒng)在料金計(jì)算(生成Billing)時(shí),發(fā)現(xiàn)計(jì)算的金額有0.01円的差異。
●原因:
? ? ? ?Oracle數(shù)據(jù)庫(kù)中對(duì)于金額的定義是6位小數(shù),一旦金額超過(guò)6位的時(shí)候,數(shù)據(jù)庫(kù)就會(huì)發(fā)生自動(dòng)四舍五入。
★現(xiàn)象0002??
? ? ?系統(tǒng)中有一本功能是Java調(diào)用PLSQL實(shí)裝的,在Java中有數(shù)據(jù)更新,在PLSQL中也有數(shù)據(jù)的更新處理。
? ? ? 但在生產(chǎn)機(jī)上總是偶爾發(fā)生,java中更新的數(shù)據(jù)反應(yīng)到數(shù)據(jù)庫(kù)中了,但PLSQL中更新的數(shù)據(jù)沒(méi)有。
●原因:? ? ??
? ? ? ?后來(lái)調(diào)查發(fā)現(xiàn),在java中的使用的Connection與調(diào)用PLSQL時(shí)的Connection不一致造成的,但兩者的Connection并不是總是不一致,而是偶爾發(fā)生不一致。
? ? ? 進(jìn)一步調(diào)查懷疑是調(diào)用PLSQL時(shí)取Connection的方法不正確,而造成conection偶爾不一致的原因是生產(chǎn)機(jī)的Java代碼里
? ? ? 調(diào)用PlSQL獲取的connetion是在connetion連接池里取得的,大多數(shù)的時(shí)候同一個(gè),但偶爾有不是同一個(gè)Connection的情況。
代碼如下:

★現(xiàn)象0003
? ? 有一個(gè)online畫(huà)面功能,畫(huà)面在初始顯示時(shí)所有項(xiàng)目一直都很正常,但偶爾有個(gè)別項(xiàng)目不顯示的情況發(fā)生。
●原因:? ? ??
? ? ? ?后來(lái)深入的調(diào)查發(fā)現(xiàn),畫(huà)面的項(xiàng)目顯示不正常的時(shí)候,當(dāng)按下IE的F12,看debug模式的時(shí)候有javascript錯(cuò)誤,
? ? ? ?javascript錯(cuò)誤的原因是在畫(huà)面初始化的時(shí)候調(diào)用了一個(gè)下拉框的onchange事件,而onchange里調(diào)用的方法定義
? ? ? 在document.ready里,onchang的調(diào)用寫(xiě)在了Onload里造成的。
? ? ? 懷疑時(shí),onload的onchange調(diào)用時(shí),方法還沒(méi)被完全加載。
? ? ?怪的時(shí),在我們認(rèn)識(shí)里,document.ready是在 Onload的前面調(diào)用的,上網(wǎng)查了很多解釋也是如此,但不知道為何
? ? ?在我們的系統(tǒng)里確實(shí)是onload先執(zhí)行, document.ready后執(zhí)行的(這個(gè)我通過(guò)分別在onload和docment.ready里加了alert確認(rèn)到了)。