Oracle 數據存取組件(ODAC) 庫為Borland Delphi,C++ Builder 以及 Kylix提供了一些非可視化的組件。它們用來存取Oracle關系數據庫系統。與BDE類似, ODAC 也是一種可供選擇的處理數據的方法之一。
ODAC 直接使用 Oracle 調用接口 (OCI). OCI 是一種允許應用程序開發人員使用第三方開發語言存取Oracle數據服務器的過程或函數以及控制所有的SQL語句執行狀態的應用程序接口(API)。OCI 通過一個動態運行庫(ORA*.DLL)提供了一個標准的數據庫存取庫及函數,以在應用程序中建立連接。也可以使用ODAC的Net選項而無需在客戶機上安裝Oracle客戶端來連接到Oracle.在這種情況下,ODAC僅需要TCP/IP協議的支持,從而可以創建真正的、最小的數據庫應用程序。
與使用BDE開發 Oracle C/S(客戶/服務器)應用程序不同的是,BDE不能存取Oracle的一些特殊功能,不能使用更多的資源,不能高速處理數據,而且不定期有麻煩的應用程序分發以及管理。
使用BDE存取Oracle的方式是:
[Oracle RDBMS] <> [SQL*Net] <> [OCI] <> [SQL Links] <> [BDE] <> [Application]
ODAC 直接使用 OCI。它允許不使用 BDE 及 SQL Links:
[Oracle RDBMS] <> [SQL*Net] <> [OCI] <> [Application]
ODAC Net 提供了更好的方法:
[Oracle RDBMS] <> [TCP/IP] <> [Application]
ODAC 包含了以下組件:
TOraSession - 控制服務連接;
TOraQuery - 執行查詢,操作記錄集,靈活地更新數據庫表;
TSmartQuery - 與 TOraQuery 功能類似,可自動創建 INSERT, DELETE, UPDATE 查詢,自動鎖定及更新記錄;
TOraSQL - 執行SQL語句, PL/SQL 塊,存儲過程;
TOraPackage - 允許執行包中的過程及函數以及變量;
TOraTable - 允許不需要使用SQL語句來讀取及更新單個表;
TOraStoredProc - 執行存儲過程和函數,允許編輯游標並可作為參數返回;
TOraNestedTable - 控制嵌套表數據;
TOraProvider - 提供從客戶數據集進行數據及應用更新;
TOraScript - 執行 SQL 及 PL/SQL 語句;;
TOraAlerter - 允許在兩個會話中傳送消息;
TOraLoader - 快速裝載Oracle數據庫;
TOraSQLMonitor - 允許監視執行基於ODAC應用程序中的動態SQL語句;
TOraErrorHandler - 傳送錯誤信息;
TBDESession - 允許將ODAC集成到基於BDE的應用程序中;
TConnectDialog - 用來輸入用戶名,口令及服務名;
TCRDBGrid - 增強的 TDBGrid , 提供可視化的的數據過濾及增量查詢;
TVirtualTable - 數據存儲在內存中。