同時運行兩個相同的exe,若exe中都有設定session.PrivateDir,那麼此時會出現Directory is busy的錯誤。
原因是:BDE 會因為產生的暫存檔名 重複而衝突。
今天碰到Directory Is Locked的錯誤,懷疑是也是設定PrivateDir的緣故,但並沒有發現有此設定。後來重啟系統之後,就沒有出現了...
後來先使用Desktop打開那個parodox數據文件,關閉後,再用程序連接,還是會出現locked狀況——這是狀況1
不先使用desktop打開,用程序連接,執行後,再執行一次時,也會出現locked狀況——這是狀況2
後來查證,狀況2是因為反复去開同一張table(幾萬次),造成BDE需要不斷是生成臨時檔案(存放select結果集),可能使得BDE崩潰,需要重啟才會恢復。
可能是因為資料本身比較大的緣故,使用desktop打開時,也會造成其他程序無法訪問此數據文件(被locked)。
由此總結:Paradox等BDE內置的桌面型數據庫,不能過多反复開啟;資料量無法承載過多;