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

下載本文檔

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

文檔簡(jiǎn)介

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

2、(即API訪問(wèn)方式)部分進(jìn)行介紹。用戶或用戶程序數(shù)據(jù)庫(kù)訪問(wèn)接口數(shù)據(jù)文件或數(shù)據(jù)庫(kù)引擎圖7.5數(shù)據(jù)庫(kù)訪問(wèn)結(jié)構(gòu)示意根據(jù)底層數(shù)據(jù)操作模式的差異,數(shù)據(jù)庫(kù)接口可簡(jiǎn)單分為:本地(Local)數(shù)據(jù)庫(kù)接口和客戶機(jī)服務(wù)器(ClientServer)數(shù)據(jù)庫(kù)接口。1本地?cái)?shù)據(jù)庫(kù)接口通過(guò)DBMS將用戶數(shù)據(jù)請(qǐng)求轉(zhuǎn)換成為簡(jiǎn)單的磁盤(pán)訪問(wè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ù)庫(kù)接口數(shù)據(jù)處理工作分散到工作站和服務(wù)器上處理。工作站通過(guò)特定的數(shù)據(jù)庫(kù)通信API,把數(shù)據(jù)訪問(wèn)請(qǐng)求傳給相應(yīng)的服務(wù)器的后端數(shù)據(jù)驅(qū)動(dòng)程序。由于不同客戶機(jī)服務(wù)器數(shù)據(jù)庫(kù)管理系統(tǒng)通信機(jī)制的差異,異構(gòu)數(shù)據(jù)庫(kù)之間也難以實(shí)現(xiàn)透明通信互訪。因此,僅依靠特定DBMS提供的數(shù)據(jù)庫(kù)訪問(wèn)接口難以支撐透明的、通用的異構(gòu)數(shù)據(jù)庫(kù)訪問(wèn)。后臺(tái)數(shù)據(jù)庫(kù)管理系統(tǒng)的變更或升級(jí),需要程序員對(duì)特定API的重新學(xué)習(xí),以及對(duì)應(yīng)用程序代碼的改寫(xiě);而

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

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

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

7、建立與數(shù)據(jù)源的連接;②提交數(shù)據(jù)請(qǐng)求;③為應(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ù)以及訪問(wèn)這些數(shù)據(jù)所需的各種描述信息的組合,其中數(shù)據(jù)源名是應(yīng)用程序訪問(wèn)特定數(shù)據(jù)庫(kù)的連接標(biāo)識(shí),通過(guò)它應(yīng)用程序無(wú)須獲取數(shù)據(jù)源其他細(xì)節(jié)信息。同時(shí)應(yīng)用系統(tǒng)可以同時(shí)與多個(gè)數(shù)據(jù)源進(jìn)行連接。雖然ODBC提供了一種通用的數(shù)據(jù)庫(kù)訪問(wèn)接口標(biāo)準(zhǔn),但是直接使用ODBCAPI是比較困難的。于是出現(xiàn)了

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論