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

Delphi碰上PARADOX

 
coolman
一般會員


發表:11
回覆:17
積分:17
註冊:2002-12-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-12-06 12:11:40 IP:61.217.xxx.xxx 未訂閱
大家有沒有遇到過PARADOX資料庫莫名其妙丟資料的情況? 案例一: 我用的PARADOX資料庫中有一個ORDER表,是用來存放定單使用者資料的,三萬多條記錄,一個自動增加型字段OR_id做主鍵,程序設計沒有用DATABASE控件,全部用TABLE組件的OPEN,POST,CLOSE事件,但有時侯會莫名其妙丟失當天錄入的幾百條資料,偶爾會把庫里所有資料大部分丟失,只剩幾十條資料(幸好我每天都用最原始的批處理來備份原文件),查看該ORDER。DB文件大小也變的只有幾十K,正常是1M多,我很困惑,大家有沒有遇到過這種現象? 案例二: 我以前時制作的一個軟體,也是超過幾萬條后發生丟失,不過丟的資料並不多,造成的麻煩可不小。發生幾次后,盡管BDE存取PARADOX時速度非常的快,我還是換為了ADO ACCESS來用,就一切正常了。 案例三: 我用paradox 常常遇到索引文件出錯的情況。 反正我現在不喜歡它了,能用最好用IB桌面版本或者Sybase。 案例四: 我們公司作監控軟體,用的就是paradox資料庫! 他很脆弱的,我們的資料量比較大,一般就是30到40個庫!每個庫理論大小是 2G的容量,但是不到200M的時候,已經不行了!我們對資料庫的就是存的多,別的 很少用,不過我做過試驗,資料庫很小的時候,訪問過頻繁!很容易出問題的!! 我勸你剛塊換資料庫!!我們用ms-sql!順便說一下access也不保險!! 案例五: 我原來錯車道收費程序遇到過,系統連續運行一個多月后,就發現資料丟失的現象,經常是連續幾天沒有資料,需要重新啟動程序才行,我是百思不得其解,后來實驗了許多方法,最后終於搞定,我原來在對PX表插入資料時候,表是一直打開的,后來我改成插入一條記錄后就關閉該表,到現在就沒聽說有丟失資料的事情啦 案例六: 我遇到的與Ykang的情況一樣,POST 后必須連接表的DataSet必須Close一下才可以正常插入。這可能就是BDE控制Buffer寫入硬碟出了問題,我用UltraEdit觀察了Paradox表文件,發現POST時並沒有寫入表文件,refresh也沒有寫入表文件,只有Close才寫入。好像再一次POST時,前一次記錄會寫入文件,但當前記錄不會(我記不清楚了,你自己試一試吧)。另外,Paradox的索引文件極容易出錯,不知有什麼補救辦法? 發表人 - coolman 於 2002/12/06 12:14:11
領航天使
站長


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-12-06 13:03:50 IP:192.168.xxx.xxx 未訂閱
用Paradox要出錯很簡單, 用兩台電腦一台當主機分享目錄存放Paradox檔案 另一台工作站連上這個目錄的Paradox檔, 當工作站電腦使用TTable在Edit模式下輸入了修改的資料, 將工作站按Reset電腦重新開機, 此時主機中的Paradox檔案就已經損毀了, 必需用FIXDB工具去修護, 一般而言是可以修的好的, 但是,有時後修完資料會Lose很多不見! 至於Access也是屬於檔案型式,有時也會損毀, 也是可以用修護還原, 但是,有時修好了之後索引會不見, 必需重新建立索引! 以上為個人經驗! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
Jasonwong
版主


發表:49
回覆:931
積分:581
註冊:2006-10-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-12-06 17:00:27 IP:211.21.xxx.xxx 未訂閱
那麼桌上型到底那一種較好~~還是要用免費PQ-SQL跟MYSQL囉~~ -- 聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心 傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心
傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
danny
版主


發表:100
回覆:522
積分:595
註冊:2002-03-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-12-06 17:35:55 IP:210.202.xxx.xxx 未訂閱
引言: 大家有沒有遇到過PARADOX資料庫莫名其妙丟資料的情況?
不建議使用 PARADOX, 因為您所說的問題其實蠻常發生的(站長所述情形也是如此). 目前他的優點只有 "快" 而已 ... 但也會造成資料遺失的後遺症(BDE Buffer 很大並沒有立即寫回 HDD) 目前我的經驗是 Desktop database 穩定性都不好.
------
將問題盡快結案也是一種禮貌!
andersonhsieh
版主


發表:33
回覆:531
積分:439
註冊:2002-06-10

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-12-06 17:42:03 IP:211.20.xxx.xxx 未訂閱
以我工件上的情況來說,PARADOX只是拿來做為CLIENT做特別處理之用如統計或做複雜報表,不會拿來當做系統的DATABASE @@~~飛翔在天際的精靈~~@@
------
@@~~飛翔在天際的精靈~~@@
領航天使
站長


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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-12-06 20:05:58 IP:192.168.xxx.xxx 未訂閱
引言: 不建議使用 PARADOX, 因為您所說的問題其實蠻常發生的(站長所述情形也是如此). 目前他的優點只有 "快" 而已 ...
其實Paradox只有在Local的電腦會快而已, 工作站連結時,速度奇慢無比, 也就是: Paradox只適合單機Local使用! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
P.D.
版主


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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-12-07 00:38:40 IP:61.66.xxx.xxx 未訂閱
引言: 大家有沒有遇到過PARADOX資料庫莫名其妙丟資料的情況? 案例一: 我用的PARADOX資料庫中有一個ORDER表,是用來存放定單使用者資料的,三萬多.... 我也遇過, 不過我的情況是user前天建的資料, 在第三天不見了或者被還原成三天前的記錄, 我查不出原因, 但又不能承認自己使用的資料庫有問題, 只好告訴user這是windows問題, 反正M$的風評大家也知道, 賴一下可以省不少糾紛, 不過還好情況不是常發生, 有時會幫他們重建WINDOWS後, 就沒有再發生(有點訐詐哦!) 案例三: 我用paradox 常常遇到索引文件出錯的情況... 我現在都把 db檔當成一些參數設定之用, 不拿來做主資料, 這樣在設計或coding上會比較容易, 而且也不怕資料毀損, 因為這些只是參數, 壞了就重新再複製一份就好, 還有一個好處就是, 程式寫得十全十美沒有問題並不是很好, 這樣就沒有售後服務了, 為了保留一點自己的利益, 不得己使然! 案例四: 我們公司作監控軟體,用的就是paradox資料庫! 他很脆弱的,我們的資料量比較大,一般就是30到40個庫!每個庫理論大小是 2G的容量,但是不到200M的時候,已經不行了!我們對資料庫的就是存的多,別的... Access 在上萬筆來說就已經是極限, 而Paradox一般還可以做到60-80萬筆, 我的測試結果, db檔的最大極限約在400M, 但這當然還要看你結構的規劃, 超過的結果是無法新增, 系統會告訴你 Table is Full 但100M以上在開檔如果用TTable或TQuery 那可以一件很慘的事! 案例五: 案例六: 我遇到的與Ykang的情況一樣,POST 后必須連接表的DataSet必須Close一下才可以正常插入。這可能就是BDE控制Buffer寫入硬碟出了問題,我用UltraEdit觀察了Paradox表文件,發現POST時並沒有寫入表文件,refresh也沒有寫入表文件,只有Close才寫入。好像再一次POST時,前一次記錄會寫入文件,但當前記錄不會(我記不清楚了,你自己試一試吧)。另外,Paradox的索引文件極容易出錯,不知有什麼補救辦法? db檔根據文獻記錄, post是回存到buffer上, 即使你在網路上看到有宣稱修正過的TTable.Post可以解決這個問題或是書上告訴你利用 bde中的直接function [dbisavechange]來做, 我都試過是無效的, 唯一的方法就是 edit, append後下post, 然後 close, 再open 才能確保資料真正回存硬碟, 雖然我仔細查看 refresh的原始構成也是 close, open , 但實際的程式運作中可能有未公開的程式碼在執行, 因此確保你資料的存在, 就是 close, open, locate(或用bookmark)來回到原來記錄, 別無他法! 發表人 - coolman 於 2002/12/06 12:14:11
HANGTEN
一般會員


發表:12
回覆:15
積分:5
註冊:2002-07-20

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-12-07 10:29:58 IP:203.67.xxx.xxx 未訂閱
請問站長大人: 那裡可以找到你說的 FIXDB 工具?
領航天使
站長


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

發送簡訊給我
#9 引用回覆 回覆 發表時間:2002-12-07 10:39:23 IP:192.168.xxx.xxx 未訂閱
引言: 請問站長大人: 那裡可以找到你說的 FIXDB 工具?
這理有一個我改寫的:http://delphi.ktop.com.tw/topic.php?TOPIC_ID=18019 Borland的網站也有! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
zong
初階會員


發表:11
回覆:51
積分:42
註冊:2002-08-18

發送簡訊給我
#10 引用回覆 回覆 發表時間:2002-12-16 21:02:29 IP:61.219.xxx.xxx 未訂閱
各位先進! 1.小弟寫了幾年的Database app 還是不知道單機要用什麼資料庫好說! 我仍用笨笨的PARADOX ! 有比較好的建議嗎!! 因為上面只說缺點! 我還是有看沒有懂!?? 資愚 所以只有勤發問了! 2.那客戶要有二、三個Client 又不肯花$$ 要用什麼DATABASE?? 目前我是採PostgreSQL (日本人改的win ver) 因為之前mysql 不支援roll back! 才剛開發完成不久! 所以也不知有沒有問題??
P.D.
版主


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

發送簡訊給我
#11 引用回覆 回覆 發表時間:2002-12-16 23:06:38 IP:61.66.xxx.xxx 未訂閱
引言: 各位先進! 1.小弟寫了幾年的Database app 還是不知道單機要用什麼資料庫好說! 我仍用笨笨的PARADOX ! 有比較好的建議嗎!! 因為上面只說缺點! 我還是有看沒有懂!?? 資愚 所以只有勤發問了! 如果不要錢的話, 我的建議用 dbf, 但如果儲存資料要有圖片或密碼, dbf辦不到, db, access可以辦到 2.那客戶要有二、三個Client 又不肯花$$ 要用什麼DATABASE?? 目前我是採PostgreSQL (日本人改的win ver) 因為之前mysql 不支援roll back! 才剛開發完成不久! 所以也不知有沒有問題?? interbase 吧~
fangwy
中階會員


發表:99
回覆:139
積分:62
註冊:2003-09-10

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-09-16 18:05:00 IP:218.5.xxx.xxx 未訂閱
我也受到PARADOX数据丢失的困扰,大家可以试试直接用SQL语句插入,修改,删除.我记得以前曾使用这种方法在实际应用中USER没有反应资料丢失问题.当然我没有专门去测试过. 但因使用SQL语句不能进行Database.StartTransaction处理以保持若干个数据表的资料一致.所以也不是所有地方都可以使用SQL.
系統時間:2024-07-01 20:23:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!