首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

BDE 資料庫應用程式精簡部署:從 20MB 瘦身至 1MB 的實戰清單

     編輯:關於C++

Borland Database Engine (BDE) 完整安裝包超過 20 MB,但大多數應用程式僅需核心 DLL 與特定驅動程式。本文提供逐檔精簡清單,助您將部署體積壓縮 90% 以上。

✅ 必備核心檔案(不可或缺)

檔案功能
Blw32.dll語言驅動程式庫(本地化支援)
Idapi32.dllBDE 核心 API 函式庫
Fareast.btl, charset.cvb遠東語言驅動(中文環境必備)
Idr20009.dll錯誤訊息資源庫
bantam.dll未公開用途但實測不可缺少

🔧 按需選擇:資料庫驅動程式

驅動檔案支援資料庫典型用途
Idasci32.dllASCII 文字檔 (CSV, TXT)簡易匯入匯出
Iddao32.dllMicrosoft Access (.mdb)桌面資料庫
Iddbas32.dlldBase (.dbf)舊系統相容
Idodbc32.dllODBC 連接企業級資料庫
Idpdx32.dllParadox (.db)Borland 傳統專案

💡 原則:應用程式使用哪種資料庫,只部署對應驅動。僅用 TTable 操作 Paradox 時,僅需 Idpdx32.dll。

⚙️ 進階功能驅動(按需載入)

檔案功能觸發條件
Idbat32.dll批次操作TBatchMove, DbiBatchMove
Iddr32.dllData Repository資料倉儲功能
Idprov32.dllDataSet ProviderTProvider 元件
Idqbe32.dllQuery By ExampleQBE 查詢
Idsql32.dllSQL 查詢引擎TQuery, TSQLQuery

🗑️ 可安全移除的檔案

  • 說明文件:BDE32.HLP/.CNT, BdeAdmin.exe/.HLP/.CNT, DataBump.*, Localsql.*, Sqllnk32.*
  • 其他語系:*.BLL(僅保留 Fareast.btl)
  • 工具程式:BdeAdmin.exe(除非需讓使用者自行設定 BDE)

📝 登錄表設定自動化(程式碼實作)

部署時將檔案置於應用程式目錄(如 AppPath\BDE\),啟動時檢查並寫入登錄表:

// 關鍵登錄鍵值
HKEY_LOCAL_MACHINE\Software\Borland\Database Engine\DLLPATH           = "AppPath\BDE"
HKEY_LOCAL_MACHINE\Software\Borland\BLW32\BLAPIPATH                   = "AppPath\BDE"
HKEY_LOCAL_MACHINE\Software\Borland\BLW32\LOCALE_LIB0                 = "fareast.btl"
HKEY_LOCAL_MACHINE\Software\Borland\BLW32\LOCALE_LIB1                 = "usa.btl"  // 視需求

// TRegistry 範例
void EnsureBDEPaths() {
    TRegistry* reg = new TRegistry();
    reg->RootKey = HKEY_LOCAL_MACHINE;
    if (reg->OpenKey("\\Software\\Borland\\Database Engine", true)) {
        if (reg->ReadString("DLLPATH") != AppPath + "\\BDE")
            reg->WriteString("DLLPATH", AppPath + "\\BDE");
    }
    if (reg->OpenKey("\\Software\\Borland\\BLW32", true)) {
        if (reg->ReadString("BLAPIPATH") != AppPath + "\\BDE")
            reg->WriteString("BLAPIPATH", AppPath + "\\BDE");
        if (reg->ReadString("LOCALE_LIB0") != "fareast.btl")
            reg->WriteString("LOCALE_LIB0", "fareast.btl");
    }
    delete reg;
}

🎯 實測成果

部署模式檔案數總大小適用場景
完整安裝40+22 MB開發機/測試機
精簡部署71.2 MB僅 Paradox + TTable
精簡部署91.8 MBAccess + TQuery + 批次操作

將這 7-9 個檔案隨應用程式主程式打包(Inno Setup、NSIS、InstallShield 均可),免安裝即可執行,極大降低使用者端部署摩擦。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved