全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:885
推到 Plurk!
推到 Facebook!

請教:交易資料轉存歷史資料會出現錯誤(使用.DBF)

尚未結案
cocodi
一般會員


發表:21
回覆:65
積分:17
註冊:2002-06-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-19 23:17:58 IP:211.22.xxx.xxx 未訂閱
請教各位大大: 我是使用.DBF當DataBase ,我有一段code是每天會將前一天的商品銷售記錄轉存至歷史檔,每次約100-300筆. 初期都OK,但隨著歷史檔越來越多資料,竟然開始發生寫入錯誤,或structur interrupt 或者 竟然找不到 history.dbf ,離奇的是同樣的程式,但在不同PC(OS is Windows98)下會出問題的歷史檔recordcount不同,一般而言,約到150000就可能會開始出問題,但也有到250000還沒問題的,這究竟是.dbf先天的限制或BDE需要調整那些設定,請各位指導一下.
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-20 21:24:20 IP:192.168.xxx.xxx 未訂閱
1.有沒有可能硬碟故障或壞軌? 2.這個.DBF是在Locak的硬碟中,或者是網路上共用的檔案呢? 3.採用哪一種格式的.DBF檔? DBase-III/DBase-4/DBase for Windows或Forpro? 4.有使用索引檔嗎? ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
cocodi
一般會員


發表:21
回覆:65
積分:17
註冊:2002-06-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-25 20:08:14 IP:61.222.xxx.xxx 未訂閱
首先說聲Sorry,因這幾天電腦故障,採購新機安裝中,so無法回應, 說明一下我的pc環境: a.單機使用 b.使用dbase III c.應該沒有壞軌(因為已經有約20個店家使用中) d.有使用索引檔. 我是很好奇想知道,用Delphi 的BDE handle dbaseIII 的 .dbf 檔是否有筆數的極限,若無,是否BDE中的 Block-size 或其它需要設定呢??? 頭皮正在抓破中!
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-26 02:46:20 IP:61.66.xxx.xxx 未訂閱
引言: 首先說聲Sorry,因這幾天電腦故障,採購新機安裝中,so無法回應, 說明一下我的pc環境: a.單機使用 b.使用dbase III c.應該沒有壞軌(因為已經有約20個店家使用中) d.有使用索引檔. 1.你的索引檔是 mdx嗎? 如果不是, 拿掉索引試試看 2.轉存是只有用append嗎? 如果上述的索引檔沒有問題, 請嘗試用 batchmove方式來做, 沒有索引用append, 有索引用appendupdate 3.我有用過dbf, 一百萬的量都沒有問題, 只是在異動時很慢! 也沒有去 調整任何 block-size, 標準來說 dbf 的極限在300-500萬筆間 我是很好奇想知道,用Delphi 的BDE handle dbaseIII 的 .dbf 檔是否有筆數的極限,若無,是否BDE中的 Block-size 或其它需要設定呢??? 頭皮正在抓破中!
cocodi
一般會員


發表:21
回覆:65
積分:17
註冊:2002-06-27

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-06-26 13:40:34 IP:61.222.xxx.xxx 未訂閱
因為不是交易檔全都轉檔,我可能會以PD大大的方式,試用先將資料過到某個暫存檔,再將暫存檔用BATCHMOVE 的方式轉到歷史檔,結果再告知各位,所以得分者為P.D.
cocodi
一般會員


發表:21
回覆:65
積分:17
註冊:2002-06-27

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-07-04 00:59:50 IP:61.222.xxx.xxx 未訂閱
續問各位: 前面的問題,我已確認原因了,出在index ,如領航天使與P.D.兄所言,拿就INDEX 就可以了,而且速度極快,但還有一個問題,事後索引檔都需重建,需耗費2-3分鐘,請教各位是否有無方法,可以暫時讓INDEX無效(EX:將INDEXNAME設為空等),但過檔完成後後卻不需重新INDEX的方法,Thank's.
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-07-04 20:03:15 IP:61.66.xxx.xxx 未訂閱
引言: 續問各位: 前面的問題,我已確認原因了,出在index ,如領航天使與P.D.兄所言,拿就INDEX 就可以了,而且速度極快,但還有一個問題,事後索引檔都需重建,需耗費2-3分鐘,請教各位是否有無方法,可以暫時讓INDEX無效(EX:將INDEXNAME設為空等),但過檔完成後後卻不需重新INDEX的方法,Thank's.
對於你使用 dbf index , 那真得很抱歉!如果你不open index而異動資料, index是維持原來的key, 除非你改用資料庫具有自我管理index的, 如 paradox, interbase, mysql, sql2000, sysbase...., access, (visual foxpro 我不清楚有沒有, 沒用過, 但早期的 dos foxpro3.0之前是沒有) 或者透過 bde 提供的 dbifunction, 要深入研究是否有這樣的功能, 可惜 我功力不足, 站上應該有不少世外高人, 或許能有辦法, 其實我也很想知道! 發表人 - P.D. 於 2003/07/04 20:05:41
系統時間:2024-06-18 7:38:43
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!