程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 對Oracle數據庫編程的總結

對Oracle數據庫編程的總結

編輯:Oracle數據庫基礎

本文是對Oracle數據庫編程的總結 ,現在有很多的常用的數據庫,其中包括Oracle, MS SQL Server, Sybase, Informix, MySQL, DB2, Interbase / Firebird, PostgreSQL, SQLite, SAP/DB, TimesTen, MS Access等等。

數據庫編程是對數據庫的創建、讀寫等一列的操作。

數據庫編程分為數據庫客戶端編程與數據庫服務器端編程。數據庫客戶端編程主要使用ODBC API、ADO、ADO.Net、OCI、OTL等方法;數據庫服務端編程主要使用OLE DB等方法。Oracle數據庫編程需要掌握一些訪問數據庫技術方法,還需要注意怎麼設計高效的數據庫、數據庫管理與運行的優化、數據庫語句的優化。

一、訪問數據庫技術方法

數據庫編程分為數據庫客戶端編程與數據庫服務器端編程。數據庫客戶端編程主要使用ODBC API、ADO、ADO.Net、OCI、OTL等方法;數據庫服務端編程主要使用OLE DB等方法。

1、幾種是數據庫訪問方法比較

ODBC API是一種適合數據庫底層開發的編程方法,ODBC API提供大量對數據源的操作,ODBC API能夠靈活地操作游標,支持各種幫定選項,在所有ODBC相關編程中,API編程具有最高的執行速度。

DAO提供了很好的Oracle數據庫編程的對象模型.但是,對數據庫的所有調用以及輸出的數據都必須通過Access/Jet數據庫引擎,這對於使用數據庫應用程序,是嚴重的瓶頸。

OLE DB提供了COM接口,與傳統的數據庫接口相比,有更好的健壯性和靈活性,具有很強的錯誤處理能力,能夠同非關系數據源進行通信。

ADO最主要的優點在於易於使用、速度快、內存支出少和磁盤遺跡小。

ADO.Net 是利用數據集的概念將數據庫數據讀入內存中,然後在內存中對數據進行操作,最後將數據集數據回寫到源數據庫中。

OTL 是 Oracle, Odbc and DB2-CLI Template Library 的縮寫,是一個C++編譯中操控關系數據庫的模板庫, OTL中直接操作Oracle主要是通過Oracle提供的OCI接口進行,進行操作DB2數據庫則是通過CLI接口來進行,至於MS的數據庫和其它一些數據庫,則OTL只提供了ODBC來操作的方式。

當然Oracle和DB2也可以由OTL間接使用ODBC的方式來進行操縱。具有以下優點:跨平台;運行效率高,與C語言直接調用API相當;開發效率高,起碼比ADO.net使用起來更簡單,更簡潔;部署容易,不需要ADO組件,不需要.Net framework 等。

2、VC數據庫編程幾種方法

VC數據庫編程幾種方法,包括ODBC連接、MFC ODBC連接、DAO連接、OLE DB、OLE DB Templates連接、ADO、Oracle專用方法(OCI(Oracle Call Interface)訪問、Oracle Object OLE C++ Class Library )。

<1.>通用方法

1. ODBC連接

ODBC(Open DataBase Connectivity)是MSOA的一部分,是一個標准數據庫接口。它提供對關系數據庫訪問的統一接口,實現對異構數據源的一致訪問。

ODBC數據訪問由以下部分組成:

<1>句柄(Handles):ODBC使用句柄來標識ODBC環境、連接、語句和描述器.

<2>緩存區(Buffers):

<3>數據類型(Data types)

<4>一致性級別(Conformance levels)

用ODBC設計客戶端的一般步驟:

<1>分配ODBC環境

<2>分配連接句柄

<3>連接數據源

<4>構造和執行SQL語句

<5>獲得查詢結果

<6>斷開數據源的連接

<7>釋放ODBC環境

ODBC API是一種適合數據庫底層開發的編程方法,ODBC API提供大量對數據源的操作,ODBC API能夠靈活地操作游標,支持各種幫定選項,在所有ODBC相關編程中,API編程具有最高的執行速度.因此,ODBC API編程屬於底層編程。

2. MFC ODBC連接

MFC ODBC是MFC對ODBC進行的封裝,以簡化對ODBC API的 調用,從而實現面向對象的Oracle數據庫編程接口.

MFC ODBC的封裝主要開發了CDatabase類和CRecordSet類

(1) CDatabase類

CDatabase類用於應用程序建立同數據源的連接。CDatabase類中包含一個m_hdbc變量,它代表了數據源的連接句柄。如果要建立CDatabase類的實例,應先調用該類的構造函數,再調用Open函數,通過調用,初始化環境變量,並執行與數據源的連接。在通過Close函數關閉數據源。

CDatabase類提供了對數據庫進行操作的函數及事務操作。

(2) CRecordSet類

CRecordSet類定義了從數據庫接收或者發送數據到數據庫的成員變量,以實現對數據集的數據操作。

CRecordSet類的成員變量m_hstmt代表了定義該記錄集的SQL語句句柄,m_nFIElds為記錄集中字段的個數,m_nParams為記錄集所使用的參數個數。

CRecordSet的記錄集通過CDatabase實例的指針實現同數據源的連接,即CRecordSet的成員變量m_pDatabase.

MFC ODBC編程更適合於界面型數據庫應用程序的開發,但由於CDatabase類和CRecordSet類提供的數據庫操作函數有限,支持的游標類型也有限,限制了高效的數據庫開發。在編程層次上屬於高級編程。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved