VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

交易異動處理 仍有 資料遺失 之問題

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
chioucy



註冊時間: 2004-05-26
文章: 33


第 1 樓

發表發表於: 星期一 二月 06, 2006 4:40 pm    文章主題: 交易異動處理 仍有 資料遺失 之問題 引言回覆

各位先進
一個問題 請教各位
我是用 VFP 6.0 撰寫系統的
交易的異動 會使用 BEGIN TRANSACTION 及 END TRANSACTION 處理
照理論 來說 交易的異動應該會完整的寫入資料庫內
但是在當電腦發生當機時會有一個問題 產生!

比如我有一筆交易會異動到三個TABLE,使用TRANSACTION 處理,
但是在END TRANSACTION 後其實它更新的只是記憶統中資料庫的資料,尚未真正寫入硬碟內,這時如果電腦發生不明原因的當機或其他問題,使用者強迫關機後,可能發生三個TABLE只有一個TABLE資料有異動到,其他二個TABLE來不及寫入硬碟,這時候就會產生資料不一致的嚴重問題!!!

不知各位先進有何方法可以妥善解決此一問題? 還是只能乞求電腦不要當機....
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4249
來自: Taipei,Taiwan

第 2 樓

發表發表於: 星期一 二月 06, 2006 4:53 pm    文章主題: 引言回覆

乞求電腦不要當機.......

HELP是這樣說的.

當然你可以設計一些輔助機制來避免

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
syntech



註冊時間: 2003-05-16
文章: 4249
來自: Taipei,Taiwan

第 3 樓

發表發表於: 星期二 二月 07, 2006 12:11 am    文章主題: 引言回覆

help:
-------------------------------
儘管在正常情況下,簡單的異動交易處理能夠提供安全的資料更新動作,但是它並無法提供對系統失敗的完全保護。如果在處理 END TRANSACTION 命令期間斷電或產生其他系統插斷,則資料更新仍將失敗。

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
chioucy



註冊時間: 2004-05-26
文章: 33


第 4 樓

發表發表於: 星期二 二月 07, 2006 8:39 am    文章主題: 引言回覆

是阿 tableupdate() 是一定要做的

但是即使於END TRANSACTION 之後發生斷電或當機 資料仍有機會造成 Table 間資料不一致啊!

我在想 在資料一致性非常重要的系統上(如金融交易系統)要如何避免呢?
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4249
來自: Taipei,Taiwan

第 5 樓

發表發表於: 星期二 二月 07, 2006 9:16 am    文章主題: 引言回覆

買UPS避免斷電,
server作業單純化避免某一程式導致系統當機,
系統作多phase/stage 的結帳,
例如a檔轉到b檔,b檔轉c檔,c檔才轉正式檔之類,然後檢查各檔有沒有遺漏之類,減少存檔遺漏,
或是其他方式結帳等等.

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
chioucy



註冊時間: 2004-05-26
文章: 33


第 6 樓

發表發表於: 星期一 五月 22, 2006 1:25 pm    文章主題: 引言回覆

我最近查到二個指令 或許可以解決 END TRANSACTION 後強迫立刻把資料立刻寫回硬碟

指令如下

SET AUTOSAVE ON

FLUSH
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4249
來自: Taipei,Taiwan

第 7 樓

發表發表於: 星期一 五月 22, 2006 2:28 pm    文章主題: 引言回覆

這樣就失去用交易的目的.

您可以想想看為什麼.

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
chioucy



註冊時間: 2004-05-26
文章: 33


第 8 樓

發表發表於: 星期一 五月 22, 2006 5:17 pm    文章主題: 引言回覆

SYNTECH 大大

我不太明白 如果我把 flush 指令放於END TRANSACTION 指令後面執行的話 它不是會把交易異動後的
tablet及index 資料表強迫寫入硬碟中嗎? (因為flush指令在foxpro中說明不多 我並不很了解其功能 請多指教)
回頂端
檢視會員個人資料 發送私人訊息
kalok



註冊時間: 2010-08-26
文章: 284


第 9 樓

發表發表於: 星期四 二月 16, 2012 12:42 pm    文章主題: 引言回覆

>但是即使於END TRANSACTION 之後發生斷電或當機 資料仍有機會造成 Table 間資料不一致啊!

VFP 在斷電或當機時不能rollback, 後端資料庫是sql server的話應該OK吧
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作