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

C++ Builder 開發多層資料庫應用系統

     編輯:關於C++

隨著 Client/Server 架構在企業級應用(MRP、MIS)普及,三層架構(Multi-Tier)應運而生。Borland C++ Builder 提供 TRemoteDataModule、TDCOMConnection、TClientDataSet 等元件,完整支援 DCOM 架構下的應用伺服器與瘦客戶端開發。本文詳細記錄從環境建置到程式實作的完整流程。

Multi-Tier 架構運作原理

  1. 前端(瘦客戶端):僅保留 UI 邏輯與 DBClient.dll,透過 TClientDataSet 接收資料包。
  2. 應用伺服器(中間層):原 Client 端的 DataModule、BDE、SQL Links 移至此層,封裝為 COM 物件(TRemoteDataModule),負責連接後端資料庫、執行 SQL、打包 DataPacket。
  3. 後端資料庫伺服器:專注資料儲存與查詢,僅處理應用伺服器的連線,大幅降低連線負載。

環境建置清單

後端資料庫伺服器

  • 本例:VMS + Oracle 7.3

應用伺服器(NT Server)

  1. 安裝 Windows NT Server,確保 TCP/IP 通暢。
  2. 安裝 Oracle SQL*Net,設定 TNS 別名連接後端 Oracle。
  3. 安裝 BDE Administrator,新增別名 Oracle2:
    • Server Name:TNS 別名
    • Net Protocol:TNS
    • User Name/Password:Oracle 帳密
  4. 安裝 C++ Builder 5 開發應用伺服器與客戶端程式。

前端客戶機

  1. Windows 95/98,TCP/IP 連通應用伺服器。
  2. 從 NT \Winnt\System32 複製 DBClient.dll 至 \Windows\System。
  3. Win95 需額外安裝 DCOM95;Win98/NT 內建。
  4. 透過網路複製前端 EXE 即可執行。

實作步驟

1. 應用伺服器端:建立 Remote Data Module

  1. File → New → Remote Data Module,CoClass Name = KCBB。
  2. 放置元件並設定屬性:
    • Database1:AliasName=Oracle2、DatabaseName=Test、Connected=true
    • Table1:DatabaseName=Test、TableName=KCB、Active=true
    • DataSetProvider1:DataSet=Table1、Exported=true
  3. Form 上放 Label 顯示「伺服器應用程式已啟動」。
  4. 編譯產生 EXE,執行一次以註冊 COM 類別(或執行 RegSvr32.exe),確認登錄檔 HKCR\Project1.KCBB 存在。

2. 前端客戶端:建立瘦客戶端應用

  1. 新專案,放置元件:
    • DCOMConnection1:ComputerName=應用伺服器機器名、ServerName=Project1.KCBB
    • ClientDataSet1:RemoteServer=DCOMConnection1、ProviderName=DataSetProvider1、Active=true
    • DataSource1:DataSet=ClientDataSet1
    • DBGrid1:DataSource=DataSource1
  2. 利用 ActionList + StandardActions 快速建立新增、編輯、刪除、存檔、取消、重讀等按鈕,Action 屬性對應即可,無需撰寫程式碼。
  3. 編譯測試,複製 EXE 至所有前端機器。

優勢總結

  • 資料庫連線集中:後端僅承擔應用伺服器連線,支援更多並發使用者。
  • 前端部署輕量:單一 EXE + DBClient.dll,免安裝 BDE/驅動程式。
  • 邏輯集中維護:商業規則寫在應用伺服器 RemoteDataModule,修改即時生效。

後續強化方向

  1. 資料包壓縮與加密:降低網路頻寬、提升安全性。
  2. 錯誤處理與重試機制:DCOM 通訊失敗時的自動重連與使用者提示。
  3. 連線池管理:應用伺服器端資料庫連線池優化。
  4. 無狀態化改造:配合 MTS/COM+ 實現真正的企業級中介層。

C++ Builder 的 Multi-Tier 元件大幅降低了三層架構開發門檻,是中小型企業資訊系統快速落地的最佳選擇之一。

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