首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

ODAC 核心組件架構與優勢全景介紹

     編輯:Oracle 資料庫基礎

前言

Oracle Data Access Components (ODAC) 是專為 Borland Delphi、C++Builder、Kylix 設計的原生 Oracle 存取組件庫,直接呼叫 OCI (Oracle Call Interface) 或純 TCP/IP (Net 模式) 連線資料庫,無需 BDE/ODBC 中介層。本文系統介紹 ODAC 架構優勢、核心組件清單、相容性、安裝部署與跨 IDE 專案設定。

一、架構演進:從 BDE 到 ODAC 再到 Net

架構層級通訊路徑特點
BDE 架構App → BDE → SQL Links → OCI → SQL*Net → Oracle層級多、效能差、無法使用 Oracle 進階功能、部署麻煩
ODAC 標準 (OCI)App → ODAC → OCI → SQL*Net → Oracle直連 OCI、支援完整 Oracle 功能、組件介面類 BDE 易遷移
ODAC Net (直連)App → ODAC → TCP/IP → Oracle零 Client 安裝、極小部署、功能受限 (見技巧一)

二、核心組件清單 (20+ 組件)

組件核心職責關鍵特性
TOraSession連線管理、交易控制、選項設定多連線、連線池、Net/OCI 切換
TOraQuerySQL 查詢、可更新資料集、靈活 DML自動生成 INSERT/UPDATE/DELETE、樂觀鎖定
TSmartQuery增強 Query、自動 DML、主從同步自動鎖定/重新整理、Master/Detail 內建
TOraSQL執行 DDL、PL/SQL 區塊、非查詢 SQL批次執行、Script 支援、無游標開銷
TOraPackage呼叫 Package 程序/函數/變數Package 狀態管理、Overload 解析
TOraTable單表直接存取 (無 SQL)Index/Range/Filter、快速原生操作
TOraStoredProc執行 Stored Procedure/FunctionRef Cursor 參數、PL/SQL Table 參數
TOraNestedTable操作 Nested Table 集合欄位集合元素級 CRUD
TOraProvider設計時資料集提供者IDE 欄位編輯器、資料感知控件支援
TOraScript執行多條 SQL/PL/SQL 腳本分隔符解析、錯誤繼續/停止
TOraAlerterDBMS_ALERT 訊息接收/發送非同步事件驅動、多 Session 通訊
TOraLoader高速資料載入 (Direct Path/Conventional)批次提交、平行載入、超大檔案匯入
TOraSQLMonitor監控應用內動態 SQL 執行效能分析、SQL 審計、除錯輔助
TOraErrorHandler統一錯誤處理、對話框顯示自定義錯誤映射、日誌記錄
TBDESessionBDE 應用漸進式遷移橋接共用 BDE 連線池、混合模式運行
TConnectDialog標準連線對話框 (帳號/密碼/服務)可自定義、儲存連線歷史
TCRDBGrid增強 DBGrid視覺化過濾、增量查詢、凍結欄
TVirtualTable純記憶體資料表無資料庫依賴、離線資料處理

三、核心優勢總結

  • 零中介層:直連 OCI/TCP,效能最高、資源佔用最低。
  • 功能完整:支援 Oracle 8i~19c 所有進階特性 (LOB、Object、Collection、Ref、Nested Table、AQ、TAF、Flashback 等)。
  • 雙更新模式:TOraQuery (手動控制 DML) + TSmartQuery (自動 DML/鎖定/重新整理),滿足不同複雜度需求。
  • 高效能游標:預取、塊狀提取、延遲載入 LOB、Smart Refresh (僅重新整理變更行)。
  • 多執行緒支援:長時間 PL/SQL 可在背景執行緒運行,UI 不凍結。
  • 設計時生產力:OraDesigner (視覺化 SQL 建構)、OraDebugger (PL/SQL 逐步除錯)、OraExplorer (物件瀏覽)。
  • 介面相容 BDE:TDatabase→TOraSession、TQuery→TOraQuery 映射直觀,遷移成本極低。
  • 跨平台一致:Windows (VCL) / Linux (CLX/Qt) 同一組件模型、同一 API。

四、相容性矩陣

  • Oracle Server:7.3、8.0、8i、9i、10g、11g、12c、18c、19c、21c (含 Express/XE/Personal 版)。
  • IDE:Delphi 5~11 Alexandria、C++Builder 5~11、Kylix 1~3。
  • 作業系統:Windows x86/x64、Linux x86/x64 (Kylix)。

五、安裝與專案設定

套件檔案 (ODAC 3.20+ 分離運行/設計包)

odacXX.bpl        -- 運行套件 → Windows\System32
dclodacXX.bpl     -- 設計套件 → Delphi\Bin
odacvclXX.bpl     -- VCL 支援套件 → Delphi\Bin
oraprovXX.bpl     -- TOraProvider → Delphi\Bin (企業版)
crcontrolsXX.bpl  -- TCRDBGrid → Delphi\Bin

Delphi 專案設定

Project Options → Search Path: $(DELPHI)\ODACLib

C++Builder 專案設定

Project Options → Library Path: $(BCB)\ODACLib
Project Options → Include Path: $(BCB)\ODACInclude

Kylix 環境設定

export PATH=$PATH:
# 或複製 *.so 到 kylix/bin
# Component → Install Packages → Add bpldclodacX.so

六、總結

ODAC 以「直連 OCI、組件豐富、介面親和、跨平台一致」四大特性,成為 Delphi/C++Builder 開發 Oracle 應用的標準選擇。掌握 18+ 核心組件職責、OCI/Net 雙模式架構、設計時三大工具 (Designer/Debugger/Explorer)、專案路徑設定,即可高效構建從輕量工具到核心交易系統的全谱系 Oracle 應用。

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