數(shù)據(jù)庫訪問技術(shù)_第1頁
已閱讀1頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、7.27.2數(shù)據(jù)庫訪問技術(shù)數(shù)據(jù)庫訪問技術(shù)訪問數(shù)據(jù)庫中的數(shù)據(jù)對象時,一般可采用兩種訪問方式:一是登錄用戶直接借助DBMS的數(shù)據(jù)操縱工具,通過圖形或SQL命令接口聯(lián)機(jī)訪問;另外一種為程序代碼通過應(yīng)用程序編程接口(ApplicationProgrammingInterface,API)進(jìn)行數(shù)據(jù)庫連接驗(yàn)證以及數(shù)據(jù)操作。兩種數(shù)據(jù)庫訪問方式,可以抽象為圖7.5的層次結(jié)構(gòu),從中可見中間的接口組件是數(shù)據(jù)庫訪問的橋梁與核心,本節(jié)主要就該部分的通用接口技術(shù)

2、(即API訪問方式)部分進(jìn)行介紹。用戶或用戶程序數(shù)據(jù)庫訪問接口數(shù)據(jù)文件或數(shù)據(jù)庫引擎圖7.5數(shù)據(jù)庫訪問結(jié)構(gòu)示意根據(jù)底層數(shù)據(jù)操作模式的差異,數(shù)據(jù)庫接口可簡單分為:本地(Local)數(shù)據(jù)庫接口和客戶機(jī)服務(wù)器(ClientServer)數(shù)據(jù)庫接口。1本地?cái)?shù)據(jù)庫接口通過DBMS將用戶數(shù)據(jù)請求轉(zhuǎn)換成為簡單的磁盤訪問命令,并交由操作系統(tǒng)的文件管理系統(tǒng)執(zhí)行;然后DBMS從文件管理系統(tǒng)得到數(shù)據(jù)響應(yīng)并加以處理。由于DBMS數(shù)據(jù)文件組織結(jié)構(gòu)的差異,本地型DB

3、MS只能夠讀取特定的數(shù)據(jù)源。2客戶機(jī)服務(wù)器數(shù)據(jù)庫接口數(shù)據(jù)處理工作分散到工作站和服務(wù)器上處理。工作站通過特定的數(shù)據(jù)庫通信API,把數(shù)據(jù)訪問請求傳給相應(yīng)的服務(wù)器的后端數(shù)據(jù)驅(qū)動程序。由于不同客戶機(jī)服務(wù)器數(shù)據(jù)庫管理系統(tǒng)通信機(jī)制的差異,異構(gòu)數(shù)據(jù)庫之間也難以實(shí)現(xiàn)透明通信互訪。因此,僅依靠特定DBMS提供的數(shù)據(jù)庫訪問接口難以支撐透明的、通用的異構(gòu)數(shù)據(jù)庫訪問。后臺數(shù)據(jù)庫管理系統(tǒng)的變更或升級,需要程序員對特定API的重新學(xué)習(xí),以及對應(yīng)用程序代碼的改寫;而

4、市場上DBMS產(chǎn)品眾多,必將進(jìn)一步加大系統(tǒng)開發(fā)人員的學(xué)習(xí)和維護(hù)壓力,應(yīng)用程序與數(shù)據(jù)源間的獨(dú)立性難以真正實(shí)現(xiàn)。為此,建立更為通用的數(shù)據(jù)訪問技術(shù)規(guī)范,為程序用戶提供一套完整、統(tǒng)一的數(shù)據(jù)庫訪問接口,得到了數(shù)據(jù)庫業(yè)界廣泛認(rèn)同與支持,并由此產(chǎn)生了眾多成熟的數(shù)據(jù)庫訪問接口應(yīng)用技術(shù)規(guī)范。到目前為止,主流的數(shù)據(jù)庫訪問技術(shù)包括ODBC、MFCADO、RDO、OLEDB、ADO、以及JDBC等通用技術(shù)標(biāo)準(zhǔn)。這些通用數(shù)據(jù)庫訪問技術(shù)的出現(xiàn)與發(fā)展大大降低了數(shù)據(jù)庫

5、系統(tǒng)開發(fā)與維護(hù)門檻,改善了數(shù)據(jù)庫系統(tǒng)的移植性、擴(kuò)展性,極大推動了連接。2驅(qū)動管理器驅(qū)動管理器是ODBC的一個重要組成部分,如在Windows的32位操作系統(tǒng)中,它包含在ODBC32.DLL動態(tài)鏈接庫文件中。負(fù)責(zé)處理應(yīng)用程序和ODBC驅(qū)動程序之間的連接,以及在網(wǎng)絡(luò)中有關(guān)ODBC網(wǎng)絡(luò)庫和驅(qū)動程序之間的連接的問題。驅(qū)動管理器主要工作如下:①使用ODBC初始化文件,把數(shù)據(jù)源名稱映射到特定的數(shù)據(jù)庫驅(qū)動程序上;②處理ODBC服務(wù)器的初始化操作;③為

6、驅(qū)動程序提供ODBC調(diào)用入口;④為ODBC調(diào)用進(jìn)行參數(shù)和操作驗(yàn)證。3驅(qū)動程序驅(qū)動程序驅(qū)動程序(Driver)是用以支持ODBC函數(shù)調(diào)用的模塊。應(yīng)用程序必須通過調(diào)用驅(qū)動程序所支持的函數(shù)來對數(shù)據(jù)庫進(jìn)行操作。因?yàn)轵?qū)動程序通常是一個動態(tài)鏈接庫,所以當(dāng)應(yīng)用程序需要連接到不同的數(shù)據(jù)庫時,就要采用動態(tài)鏈接的方式去連接一個或者幾個驅(qū)動程序。驅(qū)動程序主要是執(zhí)行ODBC的相關(guān)接口函數(shù),并與對應(yīng)的數(shù)據(jù)源(DataSource)直接交互。驅(qū)動程序之工作如下:①

7、建立與數(shù)據(jù)源的連接;②提交數(shù)據(jù)請求;③為應(yīng)用程序轉(zhuǎn)換數(shù)據(jù)格式;④為應(yīng)用程序返回結(jié)果;⑤返回處理結(jié)果狀態(tài)代碼;⑥根據(jù)需要,定義游標(biāo),提交事務(wù)。4數(shù)據(jù)源數(shù)據(jù)源數(shù)據(jù)源是指數(shù)據(jù)以及訪問這些數(shù)據(jù)所需的各種描述信息的組合,其中數(shù)據(jù)源名是應(yīng)用程序訪問特定數(shù)據(jù)庫的連接標(biāo)識,通過它應(yīng)用程序無須獲取數(shù)據(jù)源其他細(xì)節(jié)信息。同時應(yīng)用系統(tǒng)可以同時與多個數(shù)據(jù)源進(jìn)行連接。雖然ODBC提供了一種通用的數(shù)據(jù)庫訪問接口標(biāo)準(zhǔn),但是直接使用ODBCAPI是比較困難的。于是出現(xiàn)了

8、對ODBCAPI的不同版本的封裝類庫,這些類庫對ODBCAPI進(jìn)行了更高級別的抽象,為用戶提供了更為簡單的數(shù)據(jù)庫處理對象,如VisualBasic、VisualC和Delphi等高級程序設(shè)計(jì)語言提供的類庫。MFCODBC是微軟基礎(chǔ)類中封裝的ODBCAPI類庫,它為MFC庫用戶提供了高效、易用的數(shù)據(jù)庫訪問工具。7.2.2MFCDAO數(shù)據(jù)訪問對象(DataAccessObject,DAO)提供了通過程序代碼創(chuàng)建和操縱數(shù)據(jù)庫的體系框架,是一組

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論