上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
a2336456
註冊時間: 2015-09-01 文章: 25
第 1 樓
|
發表於: 星期四 十二月 15, 2016 8:52 am 文章主題: DBF 資料遺失 |
|
|
各位好,
已搜尋過版上的歷史討論,仍然沒有解惑 ...
1. 沒有停電的問題、
2. 硬碟檢測正常、
3. 發現資料遺失時進行REINDEX,過一星期仍然發生遺失資料。
目前遇到的案例是資料庫使用 DBF ,
時常出現資料不見(一個月內2~4筆消失),
沒有人去刪除的情況下會發生,
檢查這個案例的程式,
有發現一進入程式就會執行 PACK TABLE , REINDEX,
多人使用的情況下,進入程式就會執行一次 PACK TABLE , REINDEX!
程式也有寫
ON ERROR WAIT CLEAR
ERASE *.DBF
ERASE *.DBC
不過,別套系統也有寫,卻不會發生資料消失!
問題就在這裡:【沒有標記刪除的資料卻被刪除】
只有一個 DBF 會遺失資料,DBF 作為資料庫真的適合多使用者的需求嗎? |
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1644
第 2 樓
|
發表於: 星期四 十二月 15, 2016 9:37 am 文章主題: |
|
|
換一台server試看看,防毒軟體關閉一陣子觀察看看。 |
|
回頂端 |
|
|
a2336456
註冊時間: 2015-09-01 文章: 25
第 3 樓
|
發表於: 星期四 十二月 15, 2016 9:54 am 文章主題: |
|
|
ckp6250 寫到: | 換一台server試看看,防毒軟體關閉一陣子觀察看看。 |
OH NO ,
目前硬體環境無法移動,因為是 NAS |
|
回頂端 |
|
|
marvin
註冊時間: 2004-06-01 文章: 321
第 4 樓
|
發表於: 星期四 十二月 15, 2016 12:05 pm 文章主題: |
|
|
> 多人使用的情況下,進入程式就會執行一次 PACK TABLE , REINDEX!
會不會是 pack + reindex 太多了 ? |
|
回頂端 |
|
|
a2336456
註冊時間: 2015-09-01 文章: 25
第 5 樓
|
發表於: 星期四 十二月 15, 2016 1:04 pm 文章主題: |
|
|
marvin 寫到: | > 多人使用的情況下,進入程式就會執行一次 PACK TABLE , REINDEX!
會不會是 pack + reindex 太多了 ? |
恩,
因為 3 個人在用系統,程式都是同一支,
3 個人開系統,DBF 就會被 pack + reindex 3 次 ...
目前假設:
pack 是要移除標記刪除的資料,
如 dbf 沒有標記待刪的資料應該是沒事才對 ... |
|
回頂端 |
|
|
bx1166
註冊時間: 2011-12-06 文章: 273
第 6 樓
|
發表於: 星期四 十二月 15, 2016 1:49 pm 文章主題: |
|
|
Dbf 只是一種檔案格式,多人同時存取資料,格式其實沒有差別,重點在於存取時的方式。
如果檔案太大也是另一種情況。主要還是考慮程式存取的方式有沒有互相干擾。
刪刪加加太多,這樣子也是一種互相干擾,就像大家一起寫同一本書一樣,總不能每個人都又寫又改又要各自决定頁面順序 index 就是。要檢討的是避免這樣的情況,分散處理可能是要考慮的方向。 |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4212 來自: Taipei,Taiwan
第 7 樓
|
發表於: 星期四 十二月 15, 2016 3:10 pm 文章主題: |
|
|
PACK = COPY TO FOR !DELETED() + DELETE FILE + MOVE FILE + USE
但 PACK 時必須以 EXCLUSIVE 方式開啟.
除非NAS與真正的WINDOWS PC不同,
運作時並非真正的EXCLUSIVE,
而是每個人會開自己的副本,
最後才合併.
三個人執行是同時嗎?
這樣很奇怪,
如果都在執行功能,
第二,三人應該無法正常執行PACK才對.
---
同意 bx1166 兄的看法. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
a2336456
註冊時間: 2015-09-01 文章: 25
第 8 樓
|
發表於: 星期一 十二月 19, 2016 8:30 am 文章主題: |
|
|
syntech 寫到: | PACK = COPY TO FOR !DELETED() + DELETE FILE + MOVE FILE + USE
但 PACK 時必須以 EXCLUSIVE 方式開啟.
除非NAS與真正的WINDOWS PC不同,
運作時並非真正的EXCLUSIVE,
而是每個人會開自己的副本,
最後才合併.
三個人執行是同時嗎?
這樣很奇怪,
如果都在執行功能,
第二,三人應該無法正常執行PACK才對.
---
同意 bx1166 兄的看法. |
多人使用是部門使用者人數,
部門的程式只有一支,
三個人同一秒開啟的機率不高。
沒有看見程式寫 EXCLUSIVE,
不確定 INSERT INTO 資料是否受到 PACK 影響? |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4212 來自: Taipei,Taiwan
第 9 樓
|
發表於: 星期一 十二月 19, 2016 1:51 pm 文章主題: |
|
|
INSERT INTO = copy to ... for 條件 + append from ...
但還得看INSERT INTO後面的條件而定,有沒有過濾掉什麼條件的記錄.
而insert into 沒有exclusive 的問題.
如果你確定沒有同時使用的情況,自然與pack無關.
沒有exclusive 是做不了pack 的. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
a2336456
註冊時間: 2015-09-01 文章: 25
第 10 樓
|
發表於: 星期三 十二月 21, 2016 12:58 pm 文章主題: |
|
|
syntech 寫到: | INSERT INTO = copy to ... for 條件 + append from ...
但還得看INSERT INTO後面的條件而定,有沒有過濾掉什麼條件的記錄.
而insert into 沒有exclusive 的問題.
如果你確定沒有同時使用的情況,自然與pack無關.
沒有exclusive 是做不了pack 的. |
可惜沒有一句 SQL 的語法 ...
(上面說的 INSERT INTO 只是 CURSOR)
只有
SET CONSOLE OFF
ON ERROR WAIT CLEAR
IF CURSORGETPROP("Buffering")>1
TABLEUPDATE(.T.)
ENDIF
TABLEUPDATE(.T.)
THISFORM.REFRESH
這樣就新增、儲存了
**************
我看到版上有討論過 WIZSTYLE.VCX http://vfp.sunyear.com.tw/viewtopic.php?t=1069&view=next&sid=0ed54a0a15de5e58aea11a0e195f5d50,
這裡的系統也是用WIZSTYLE.VCX,不過 txtbtns 找不到 parent.t_update() 父類是 container ... |
|
回頂端 |
|
|
goodnight
註冊時間: 2008-10-13 文章: 472 來自: 台南市
第 11 樓
|
|
回頂端 |
|
|
CPS0204
註冊時間: 2014-08-24 文章: 441
第 12 樓
|
發表於: 星期日 一月 15, 2017 7:57 pm 文章主題: |
|
|
nas 只適合一般的文書檔(word,excel,)或照片檔的分享
不適合一個dbf開開關關,有時鎖檔頭,有時鎖記錄的用法,這種dbf
上鎖解鎖,只有 novell 3.1x server 才最合適..........
連使用xp 及windows server 來當服務器來分享都不適合.......
總知:只有novell server 最適合,至於:win7 以後不支援 novell,那只能使用vm,...等虛擬xp-pro
或是:改用 後端資料庫 ms-sql (不貴,2W多一套)...................... |
|
回頂端 |
|
|
a2336456
註冊時間: 2015-09-01 文章: 25
第 13 樓
|
發表於: 星期一 一月 23, 2017 1:16 pm 文章主題: |
|
|
CPS0204 寫到: | nas 只適合一般的文書檔(word,excel,)或照片檔的分享
不適合一個dbf開開關關,有時鎖檔頭,有時鎖記錄的用法,這種dbf
上鎖解鎖,只有 novell 3.1x server 才最合適..........
連使用xp 及windows server 來當服務器來分享都不適合.......
總知:只有novell server 最適合,至於:win7 以後不支援 novell,那只能使用vm,...等虛擬xp-pro
或是:改用 後端資料庫 ms-sql (不貴,2W多一套)...................... |
還在用 foxpro 的製造業,恐怕也不想多花錢 ... |
|
回頂端 |
|
|
kalok
註冊時間: 2010-08-26 文章: 284
第 14 樓
|
發表於: 星期六 二月 04, 2017 9:05 am 文章主題: |
|
|
為何只有 novell 3.1x 才最適合? |
|
回頂端 |
|
|
|