在VB中壓縮ACCESS資料庫_PHP教程

來源:互聯網
上載者:User
如果您在Access資料庫、Access項目中刪除資料或對象,可能會產生片段並導致磁碟空間使用效率的降低。同時,資料庫檔案的大小並未減小,而是不斷的增大,直至您的硬碟沒有空間。有沒有好的處理方法呢?其實,在Access中可以對資料庫進行壓縮最佳化以提升Access資料庫和Access項目的效能,這樣的壓縮處理的實質是複製該檔案,並重新組織檔案在磁碟上的儲存方式。但是,在Access項目中進行這樣的壓縮不會影響到資料庫物件(例如表或視圖),因為它們是儲存在Microsoft SQL Server資料庫中而不是在Access項目本身中。同樣,這樣的壓縮也不會影響到Access項目中的自動編號。在Access資料庫中,如果已經從表的末尾刪除了記錄,壓縮該資料庫是就會重新設定自動編號值。添加的下一個記錄的自動編號值將會比表中沒有刪除的最後記錄的自動編號值大一。
下面介紹如何在VB中用一個CompactJetDatabase過程實現對Access資料庫檔案的壓縮處理,在這個過程中有一個選擇性參數,就是在壓縮前你是否需要把原有的資料庫檔案備份到臨時目錄(True或False)。我用此辦法使21.6MB的資料庫壓縮到僅僅300KB。
'這些代碼可放在模組中,在其他表單也使用
Public Declare Function GetTempPath Lib "kernel32" Alias _
"GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
Public Const MAX_PATH = 260
Public Sub CompactJetDatabase(Location As String, Optional BackupOriginal As Boolean = True)
On Error GoTo CompactErr
Dim strBackupFile As String
Dim strTempFile As String
'檢查資料庫檔案是否存在
If Len(Dir(Location)) Then
'如果需要備份就執行備份
If BackupOriginal = True Then
strBackupFile = GetTemporaryPath & "backup.mdb"
If Len(Dir(strBackupFile)) Then Kill strBackupFile
FileCopy Location, strBackupFile
End If
'建立臨時檔案名稱
strTempFile = GetTemporaryPath & "temp.mdb"
If Len(Dir(strTempFile)) Then Kill strTempFile
'通過DBEngine壓縮資料庫檔案
DBEngine.CompactDatabase Location, strTempFile
'刪除原來的資料庫檔案
Kill Location
'拷貝剛剛壓縮過臨時資料庫檔案至原來位置
FileCopy strTempFile, Location

http://www.bkjia.com/PHPjc/631184.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631184.htmlTechArticle如果您在Access資料庫、Access項目中刪除資料或對象,可能會產生片段並導致磁碟空間使用效率的降低。同時,資料庫檔案的大小並未減小,...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.