Oracle對Windows的支援: Pro*C/C++ Java,JDBC/SQLJ Oracle Objects for OLE (OO4O) Oracle Provider for OLE DB Oracle Data Provider for .NET COM/COM+ Automation Feature Other tools,Services for Microsoft Transaction Server
Oracle Objects for OLE (OO4O)
OO4O支援微軟的COM自動化和AcitveX技術,使使用者可以採用任何程式設計語言或指令碼語言來擷取儲存在Oracle資料庫中的資料,包括VB、VC、VBA、VBScript、JavaScript等;
OO4O提供如下組件:
– Oracle Objects for OLE In-Process Automation Server
– Oracle Data Control
– Oracle Objects for OLE C++ Class Library
– Windows COM Data Access
– OO4O軟體層次圖
OO4O簡介 Oracle Objects for OLE In-Process Automation Server 是一組COMAutomation 物件,用來串連Oracle資料庫、執行SQL語句和PL/SQL,擷取語句執行後的結果資料。 和其他基於COM的資料庫連接API不同,例如微軟的ADO,OO4O是專門為Oracle資料庫而建立的,它經過了專門的最佳化處理,可以獲得一些Oracle資料專有的特性,效能比笨重的ODBC或JDBC要好很多。 Oracle Data Control是ActivX控製程序,設計用來簡化在可視化控制項(例如DBGrid等)和資料庫之間的資料傳遞。
Oracle Data Control可以使得在不編寫任何程式碼的情況下,實現絕大多數的資料操作。
-建立一個Dynaset控制項
-設定Connect、DatabaseName、RecordSource屬性
-執行Refresh命令
可以為控制項綁定Dynaset中的一個欄位、一個記錄或多個記錄,控制項自動完成資料庫、Dynaset以及控制項之間的資料同步。 Oracle Objects for OLE C++ Class Library是一組C++類的集合,它提供了到OO4OAutomation 伺服程式的編程介面,使用它無需掌握OLE的編程知識。 提供了一個bound類,它允許某個控制項(例如文字框、列表等)一個Dynaset的一個域(即資料庫中表的一個列)。而且允許在運行時執行這種綁定過程。 VC++同樣也支援Oracle Objects for OLE C++ Class Library。
Windows COM Data Access
OO4O類的解釋: OraSession:一個應用程式中的最高層對象,它管理著OraDatabase、OraConnection和OraDynaset對象的集合。一個應用程式應該只有一個該對象。 OraServer:代表和資料庫執行個體之間的一條物理串連 OraDatabase:代表一個使用者會話,被用來發送命令 OraSQLStmt:一條SQL語句 OraDynaset:資料快照 OraParameters:參數,主要用於儲存SQL語句中的宿主變數。
ODP – Oracle Data Provider for .NET
微軟在.NET架構下提出來統一的資料庫訪問技術ADO.NET。它包含了一組用來訪問資料庫的類。但是統一模式下訪問資料庫存在問題:1.增加了過多的層所導致的效率低下;2.各個資料庫廠商自生提供的具有特色的功能無法訪問。為此,各個資料庫廠商對仿照微軟的ADO.NET,提出了自己對.NET架構中,資料庫訪問的支援。例如Oracle公司的ODP.NET。 Oracle面向微軟的.NET環境,提供了Oracle Data Provider For .NET,用於支援對Oracle資料庫中的資料進行操作 ODP.NET的組成可以包括四部分:
– Oracle Developer Tools for VS.NET
– Oracle Providers for ASP.NET
– Oracle Database Extensions for .NET
– Oracle Data Provider for .NET
ODP.NET
windows 基於.NET架構提供的ADP.NET階層比較多,從而導致效率比較低,oracle提出的ODP.NET緩解了這一問題。