在搞基於DB2的嵌入式C語言項目時,出現了一件非常奇怪的事情,拿出來與大家分享。
當時為了保持測試數據的完整性及開發人員的數據的一致性,更是為了減少DBServer的壓力,故而為每兩人做一個DB實例噩夢由此開始。
每當擔當者A編譯好程序,開始運行的之後,使用同一DB實例的擔當者B也開始編譯運行,此時擔當者A就會報出“SQL0818N A timestamp conflict occurred.”之類的錯誤。於是,A開始重新預編譯,運行,ok,開始測試,而此時的B就會報出剛才A報出的錯誤。
當時,由於剛剛接觸DB2,對其嵌入式開發還不太熟悉其原理,我自己還以為是DB2處了問題或者客戶端出了問題,於是,卸載Quest Central,重新安裝DB2。一直沒有解決問題。
後來,通過查找資料,總結,終於找出其緣由。下圖是創建包的過程。