線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:846
推到 Plurk!
推到 Facebook!

在client server類型的資料庫中,資料存取時剛好發生break,怎辦?

答題得分者是:timhuang
huangeider
高階會員


發表:288
回覆:492
積分:231
註冊:2003-02-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-17 01:57:18 IP:61.231.xxx.xxx 未訂閱
就在server 主機確認交易可以完成剛存入主機資料庫一半時發生不正常的 break此時資料存入一半了,請教這存入一半的資料會怎麼處理? 小弟在想是否得重取出交易前的backup資料庫來還原,然後再交易一次? 若無backup怎辦?等客戶碎碎唸?鬧上法院如何處理? 「堅持」從洗馬桶做起 Aric
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-17 10:24:43 IP:203.95.xxx.xxx 未訂閱
hi, 這就必須看您之前的 transaction 的包裝是否完整, 若是包裝得完整的話, 基本上沒有 commit 的操作一律會 rollback 至未異動前的狀態, 而不會有任何問題的. 但是擔心的問題在於對資料庫的異動並未進行完整的 transaction 處理, 如此可能會有部分的資料已異動進入資料庫, 而部分資料異動並未進入資料庫, 使得資料發生不完整的狀態, 這個部分還得手工去查一下. 請先確認資料異動是否使用 transaction 完整包裝哦~
huangeider
高階會員


發表:288
回覆:492
積分:231
註冊:2003-02-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-11-17 12:52:51 IP:61.231.xxx.xxx 未訂閱
hi, 這就必須看您之前的 transaction 的包裝是否完整, 若是包裝得完整的話, 基本上沒有 commit 的操作一律會 rollback 至未異動前的狀態, 而不會有任何問題的. 但是擔心的問題在於對資料庫的異動並未進行完整的 transaction 處理, 如此可能會有部分的資料已異動進入資料庫, 而部分資料異動並未進入資料庫, 使得資料發生不完整的狀態, 這個部分還得手工去查一下. 請先確認資料異動是否使用 transaction 完整包裝哦~ 請教完整包裝 是指對應交易的資料全部到後端後而交易的許多封包? 還是要用一個軟体去執行所謂 完整包裝 後才算完整封包? 「堅持」從洗馬桶做起 Aric
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-11-17 13:26:28 IP:203.95.xxx.xxx 未訂閱
可能是我用語上的問題. 在 db 中存取資料, 是可以將許多異動定為一個 transaction, 相關的資訊可以在 ktop 中用 transaction 來查詢, 關於 transaction 在 TDatabase 和 TADOConnection 皆有對應的方法:    
  Database1.StartTransaction;
  Database1.Rollback;
  Database1.Commit;      ADOConnection1.BeginTrans;
  ADOConnection1.RollbackTrans;
  ADOConnection1.CommitTrans;
huangeider
高階會員


發表:288
回覆:492
積分:231
註冊:2003-02-26

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-11-17 13:34:07 IP:61.231.xxx.xxx 未訂閱
感謝 「堅持」從洗馬桶做起 Aric
系統時間:2024-06-02 9:10:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!