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

利用JRO壓縮ACCESS資料庫.MDB

 
領航天使
站長


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

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-03-11 22:30:05 IP:192.168.xxx.xxx 未訂閱
利用 JRO (Microsoft Jet and Replication Object 壓縮ACCESS資料庫.MDB 壓縮資料庫會重新安排資料庫檔案儲存在磁碟中的位置,以更有效率地使 用磁碟檔案空間,另外,你也可以用它來複製資料庫。 以下範例展示了壓縮 c:\data\northwind.mdb 資料庫,壓縮後的資料庫 會建立於 c:\data\newnorth.mdb。在使用下列範例前,你必須 import JRO type library:開啟一個新的專案,點選 Project | Import Type Library, 選擇 Micro$oft Jet and Replication Objects 2.1 Library (Version 2.1),然後按 Create 便可以產生 JRO_TLB.pas。 Uses JRO_TLB; const Provider = 'Provider=Microsoft.Jet.OLEDB.4.0;'; SrcMDB = 'c:\data\northwind.mdb'; DstMDB = 'd:\data\newnorth.mdb'; procedure TForm1.Button1Click(Sender: TObject); var JetEng : JetEngine; Src : WideString; Dest : WideString; begin JetEng := CoJetEngine.Create; Src := Provider 'Data Source=' SrcMDB; Dest := Provider 'Data Source=' DstMDB; try If FileExists(DstMDB) Then DeleteFile(DstMDB); JetEng.CompactDatabase(Src, Dest); finally JetEng := Nil; end; end; 備註: 當一個資料庫被壓縮之後時,標記成已刪除的記錄會真正被除去,而自動 遞增欄位則會被重新指定為下一個連續的序號,也就是目前的最大值 1。 比如說,資料表有十筆記錄,其自動編號欄位均為連續,如果刪除掉最後 三筆,則下次新增一筆記錄時編號為11,如果先把資料庫壓縮,那麼新增 時編號就是 8。 由於資料庫統計被更新了,在查詢最佳化中使用的資料表統計也會被更新 ,所有的查詢都會被標上旗號,所以這些查詢會在下次被執行時重新編譯 過。
------
~~~Delphi K.Top討論區站長~~~
系統時間:2024-06-28 23:39:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!