国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

數(shù)據(jù)訪問接口體系及數(shù)據(jù)對(duì)象模型探討--[2]

2024-07-21 02:11:27
字體:
供稿:網(wǎng)友
菜鳥學(xué)堂:

          數(shù)據(jù)訪問接口體系及數(shù)據(jù)對(duì)象模型探討(beat 1.0)

             
                                               [email protected]
                                               [email protected]


                                               個(gè)人文集:
                      http://www.csdn.net/develop/author/netauthor/redstar81/

 

 

 

 

                  一、數(shù)據(jù)訪問接口體系探討

 

1.open client/open server

 

c/s結(jié)構(gòu)的中間件具體來說是配置在客戶端和服務(wù)器端的軟件包(注2::).sybase open client/open server使分布式異構(gòu)環(huán)境下的互操作成為可能.這里我們簡述sybase c/s 中間件的工作原理.open client 是客戶端的api,它使客戶端應(yīng)用程序和第三方的工具軟件把sql語句和遠(yuǎn)程過程調(diào)用(rpc)通過網(wǎng)絡(luò)發(fā)送給sybase sql server,或經(jīng)由open server應(yīng)用(以利用open server開發(fā)為標(biāo)志的應(yīng)用)發(fā)送到其它的數(shù)據(jù)源(數(shù)據(jù)庫系統(tǒng)或objects managents或普通的數(shù)據(jù)存儲(chǔ)體)或其它類型的服務(wù)器.從open client api調(diào)用到信道傳輸有兩種很重要的行為發(fā)生,tds(同于telnet、ftp等屬于應(yīng)用層協(xié)議)格式化程序負(fù)責(zé)將上層的以api調(diào)用為標(biāo)志的sql或rpc等轉(zhuǎn)化為tds消息包而支持多種傳輸規(guī)程的網(wǎng)絡(luò)庫把tds包按對(duì)應(yīng)客戶端與服務(wù)器端通信協(xié)議的封裝格式化.自然在客戶端,信道傳輸行為發(fā)生之前,同于其它的網(wǎng)絡(luò)應(yīng)用還有很多的行為(具體參看有關(guān)協(xié)議模型的資料).open server是服務(wù)器端的api,它允許客戶機(jī)以sql語句或rpc形式向一個(gè)非sql server數(shù)據(jù)源或其它類型的服務(wù)器發(fā)送請(qǐng)求.而后使該數(shù)據(jù)源或特殊服務(wù)器以標(biāo)準(zhǔn)的tds格式向客戶端送回狀態(tài)和數(shù)據(jù).open server可構(gòu)成較為理想的c/s結(jié)構(gòu)環(huán)境,即所有的客戶端能按統(tǒng)一的方式與所有的服務(wù)器交互,而所有的服務(wù)器亦能按統(tǒng)一的方式接受客戶端的請(qǐng)求,并以標(biāo)準(zhǔn)的格式向客戶端返回結(jié)果.作為擴(kuò)展,我們這里再介紹點(diǎn)關(guān)于open client/open server的知識(shí),以便讀者在下面詳細(xì)探討的odbc體系分析中看到一些歷史的技術(shù)因素.事實(shí)上,正如上面所述,open client/open server都是api,到sybase system 11為止,成熟的api包含客戶端的db-library、client-library和服務(wù)器端的server-library還有公共的cs-library.重要的特性對(duì)比列舉如下

      1.client-library 優(yōu)于 較老的db-library 而且client-library是與sql無關(guān)的.

      2.db-library 不支持服務(wù)器端的游標(biāo).client-library功能全面,支持所有類型的游標(biāo),包括敏感和不敏感游標(biāo)

      3.open server 是服務(wù)器端的api,用來開發(fā)服務(wù)器端應(yīng)用.提供一致的數(shù)據(jù)訪問框架能力.open server應(yīng)用既可與sybase通信又可與非sybase通信而sybase sql server 連接其它的數(shù)據(jù)源需要利用open server api開發(fā)sybase open getway.

這里稍微提一下,通過對(duì)open client/open server實(shí)現(xiàn)的功能、當(dāng)時(shí)數(shù)據(jù)庫系統(tǒng)服務(wù)特性、odbc等較晚出現(xiàn)的接口體系、現(xiàn)時(shí)數(shù)據(jù)庫系統(tǒng)服務(wù)特性的綜合分析對(duì)比, 你會(huì)發(fā)

現(xiàn)open client 應(yīng)用(open client application,包含sybase open getway、normal datasource application、mail open client 及其它的一些體現(xiàn)統(tǒng)一的數(shù)據(jù)訪問框架的應(yīng)用)在后來的數(shù)據(jù)接口體系中亦可實(shí)現(xiàn)同樣功能但是實(shí)現(xiàn)的方式、功能的實(shí)現(xiàn)體及其分布大不相同.雖然到現(xiàn)時(shí)還有一些影子.

 

 

2.odbc(open database connectivity : 開放數(shù)據(jù)庫連接)

 

odbc是microsoft windows open standards architecture (wosa,windows開放服務(wù)體系)的重要組成部分,由microsoft公司于1991年底發(fā)布,短短幾年已成為事實(shí)上的工業(yè)標(biāo)準(zhǔn).它建立了一組規(guī)范,提供了一套分層(隨著層的擴(kuò)展,數(shù)據(jù)服務(wù)能力不斷的增強(qiáng))的標(biāo)準(zhǔn)api(支持sql),它解決了嵌入式sql接口的非規(guī)范核心,數(shù)據(jù)應(yīng)用系統(tǒng)用它來訪問任何提供了odbc驅(qū)動(dòng)程序(一組dll)的數(shù)據(jù)庫,結(jié)束了過去針對(duì)不同的數(shù)據(jù)庫系統(tǒng)開發(fā)須掌握相應(yīng)數(shù)據(jù)訪問api的時(shí)代.事實(shí)上,可將odbc體系看作統(tǒng)一的數(shù)據(jù)訪問界面,而使這種統(tǒng)一的數(shù)據(jù)訪問成為可能的就是各數(shù)據(jù)庫產(chǎn)品廠商提供的相應(yīng)的odbc provider(odbc提供者即odbc 驅(qū)動(dòng)),但odbc一般只能用于關(guān)系數(shù)據(jù)庫,很難訪問對(duì)象數(shù)據(jù)庫或其它非關(guān)系數(shù)據(jù)庫或數(shù)據(jù)系統(tǒng).下面簡述odbc體系的組成和工作原理. odbc規(guī)范闡釋,odbc體系有四個(gè)組成部分:application、driver manager、driver、data source.(如下圖).

 

    結(jié)合現(xiàn)實(shí)的高層開發(fā)工作流程如下:

         1.數(shù)據(jù)應(yīng)用系統(tǒng)首先獲得在odbc數(shù)據(jù)源管理器中建立的dsn(存儲(chǔ)了與數(shù)據(jù)提供程序連接的詳細(xì)信息包含數(shù)據(jù)庫位置、數(shù)據(jù)庫類型及相應(yīng)的odbc驅(qū)動(dòng)程序等),然后 driver manager依賴一種叫做數(shù)據(jù)庫獨(dú)立的交流(database indepedent communications technology)的技術(shù)與數(shù)據(jù)源建立聯(lián)系(其中涉及客戶端和服務(wù)器端多種agent對(duì)象的問題,詳情不敘,可參見下圖).



 

        2.driver mangaer調(diào)用特定odbc驅(qū)動(dòng)程序?qū)dbc標(biāo)準(zhǔn)api轉(zhuǎn)化為適用于具體數(shù)據(jù)庫系統(tǒng)的函數(shù)調(diào)用(數(shù)據(jù)庫特征不同之處也在這里翻譯如sql語法差異等),然后經(jīng)由客戶端的request agent發(fā)送到數(shù)據(jù)源.

        3.數(shù)據(jù)源database agent處理操作,將結(jié)果返回到客戶端的request agent,再向上經(jīng)driver(這里會(huì)有翻譯和標(biāo)準(zhǔn)化錯(cuò)誤碼的行為)、driver mangaer返回給application.

      需要說明的是定義和操作光標(biāo)、維護(hù)事務(wù)、負(fù)責(zé)任何與訪問數(shù)據(jù)源的必要軟件層進(jìn)行交互(包括與底層網(wǎng)絡(luò)或文件系統(tǒng)接口的軟件)等行為亦由驅(qū)動(dòng)程序完成.

  

    結(jié)合odbc api調(diào)用順序描敘工作流程:初始化(分配環(huán)境--->分配連接句柄--->與服務(wù)器連接--->分配語句句柄)-------->sql處理(語句處理和檢索部分)-------->終止(釋放語句句柄--->與服務(wù)器斷開--->釋放連接句柄--->釋放環(huán)境).

 

 

3.ole db(object link and embedding database)

 

  隨著網(wǎng)絡(luò)技術(shù)和數(shù)據(jù)庫技術(shù)的不斷發(fā)展,現(xiàn)在的應(yīng)用系統(tǒng)對(duì)數(shù)據(jù)集成的要求越來越高.有必要將不同的地方,不同的格式(如關(guān)系型數(shù)據(jù)庫和操作 系統(tǒng)中的文件、電子表格、電子郵件、多媒體數(shù)據(jù)以及目錄服務(wù)信息或主機(jī)系統(tǒng)中的ims和vsam數(shù)據(jù)等等)的數(shù)據(jù)集成.傳統(tǒng)的解決方案是使用大型的數(shù)據(jù)庫系統(tǒng),把所有這些數(shù)據(jù)都移到數(shù)據(jù)庫系統(tǒng)中,然后按照操作數(shù)據(jù)庫的辦法對(duì)這些數(shù)據(jù)進(jìn)行訪問,這樣做雖然能夠按統(tǒng)一的方式對(duì)數(shù)據(jù)進(jìn)行各種操作,這種間接訪問方式帶來了很多問題,比如數(shù)據(jù)更新不及時(shí)、空間資源的冗余和訪問效率低等等

   此時(shí)microsoft公司的通用數(shù)據(jù)訪問技術(shù)(uda)應(yīng)運(yùn)而生,它使數(shù)據(jù)應(yīng)用系統(tǒng)能通過實(shí)現(xiàn)標(biāo)準(zhǔn)ole db接口的數(shù)據(jù)提供者來訪問各種各樣的數(shù)據(jù),而不管數(shù)據(jù)駐留在何處,也不需要進(jìn)行數(shù)據(jù)轉(zhuǎn)移或復(fù)制、轉(zhuǎn)換.

   ole db作為一種數(shù)據(jù)訪問接口體系,體現(xiàn)了microsoft的通用數(shù)據(jù)訪問(uda)策略的理念.uda能夠通過標(biāo)準(zhǔn)接口來訪問各種類型的數(shù)據(jù).同于odbc體系它也提供了一套標(biāo)準(zhǔn)api,不過ole db api是完全基于com的,其特點(diǎn)是采用了多層模型.在com通信層的一側(cè)是數(shù)據(jù)另一側(cè)則是數(shù)據(jù)使用者.這種基于com的通信可被概括為在抽象對(duì)象(如datasource、session、command 和 rowset)上執(zhí)行的操作.因此,當(dāng)使用者連接到datasource,打開 session,發(fā)出command,并返回?cái)?shù)據(jù)rowset時(shí),便會(huì)出現(xiàn)這種情況.

 

  事實(shí)上,ole db是系統(tǒng)級(jí)的編程接口,它定義了一組com接口,這組接口封裝了各種數(shù)據(jù)

系統(tǒng)的訪問操作,這組接口為數(shù)據(jù)使用者和數(shù)據(jù)提供者建立了標(biāo)準(zhǔn),ole db還提供了一組標(biāo)準(zhǔn)

的服務(wù)組件,用于提供查詢、緩存、數(shù)據(jù)更新、事務(wù)處理等操作,因此數(shù)據(jù)提供方只需實(shí)現(xiàn)一

些簡單的數(shù)據(jù)操作.在使用方就可以獲得全部的數(shù)據(jù)控制能力.

 

 

待續(xù):

 





4.  jdbc(java database connectivity : java數(shù)據(jù)庫連接)

二、數(shù)據(jù)對(duì)象模型探討(待續(xù))
附錄:美國著名數(shù)據(jù)庫產(chǎn)品記事(參考)

           

 




 

 
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 广丰县| 进贤县| 三都| 锡林郭勒盟| 藁城市| 太仓市| 宜兰市| 荆门市| 密云县| 肃宁县| 吉水县| 广汉市| 永善县| 同德县| 陇西县| 高安市| 镇沅| 延安市| 张家川| 隆安县| 衢州市| 南投县| 明水县| 疏勒县| 和政县| 太谷县| 云浮市| 大埔区| 分宜县| 崇仁县| 铜陵市| 钟山县| 青河县| 永修县| 景德镇市| 东辽县| 马关县| 贵州省| 股票| 六安市| 廉江市|