<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    kapok

    垃圾桶,嘿嘿,我藏的這么深你們還能找到啊,真牛!

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      455 隨筆 :: 0 文章 :: 76 評論 :: 0 Trackbacks
    http://dev.csdn.net/develop/article/21/21018.shtm
    數(shù)據(jù)訪問接口體系及數(shù)據(jù)對象模型探討(Beat 1.0)

                 
                                                   81_RedStar81@163.com
                                                   TomHornson.student@www.sina.com.cn


                                                   個人文集:
                          http://www.csdn.net/develop/author/netauthor/RedStar81/

     

     

     

     

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

     

    1.Open Client/Open Server

     

    C/S結構的中間件具體來說是配置在客戶端和服務器端的軟件包(2::).Sybase Open Client/Open Server使分布式異構環(huán)境下的互操作成為可能.這里我們簡述Sybase C/S 中間件的工作原理.Open Client 是客戶端的API,它使客戶端應用程序和第三方的工具軟件把SQL語句和遠程過程調用(RPC)通過網(wǎng)絡發(fā)送給Sybase SQL Server,或經(jīng)由Open Server應用(以利用Open Server開發(fā)為標志的應用)發(fā)送到其它的數(shù)據(jù)源(數(shù)據(jù)庫系統(tǒng)或Objects Managents或普通的數(shù)據(jù)存儲體)或其它類型的服務器.Open Client API調用到信道傳輸有兩種很重要的行為發(fā)生,TDS(同于Telnet、Ftp等屬于應用層協(xié)議)格式化程序負責將上層的以API調用為標志的SQLRPC等轉化為TDS消息包而支持多種傳輸規(guī)程的網(wǎng)絡庫把TDS包按對應客戶端與服務器端通信協(xié)議的封裝格式化.自然在客戶端,信道傳輸行為發(fā)生之前,同于其它的網(wǎng)絡應用還有很多的行為(具體參看有關協(xié)議模型的資料).Open Server是服務器端的API,它允許客戶機以SQL語句或RPC形式向一個非Sql Server數(shù)據(jù)源或其它類型的服務器發(fā)送請求.而后使該數(shù)據(jù)源或特殊服務器以標準的TDS格式向客戶端送回狀態(tài)和數(shù)據(jù).Open Server可構成較為理想的C/S結構環(huán)境,即所有的客戶端能按統(tǒng)一的方式與所有的服務器交互,而所有的服務器亦能按統(tǒng)一的方式接受客戶端的請求,并以標準的格式向客戶端返回結果.作為擴展,我們這里再介紹點關于Open Client/Open Server的知識,以便讀者在下面詳細探討的ODBC體系分析中看到一些歷史的技術因素.事實上,正如上面所述,Open Client/Open Server都是API,Sybase System 11為止,成熟的API包含客戶端的DB-Library、Client-Library和服務器端的Server-Library還有公共的CS-Library.重要的特性對比列舉如下

          1.Client-Library 優(yōu)于 較老的DB-Library 而且Client-Library是與SQL無關的.

          2.DB-Library 不支持服務器端的游標.Client-Library功能全面,支持所有類型的游標,包括敏感和不敏感游標

          3.Open Server 是服務器端的API,用來開發(fā)服務器端應用.提供一致的數(shù)據(jù)訪問框架能力.Open Server應用既可與Sybase通信又可與非Sybase通信而Sybase SQL Server 連接其它的數(shù)據(jù)源需要利用Open Server API開發(fā)Sybase Open GetWay.

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

    現(xiàn)Open Client 應用(Open Client Application,包含Sybase Open GetWay、Normal DataSource Application、Mail Open Client 及其它的一些體現(xiàn)統(tǒng)一的數(shù)據(jù)訪問框架的應用)在后來的數(shù)據(jù)接口體系中亦可實現(xiàn)同樣功能但是實現(xiàn)的方式、功能的實現(xiàn)體及其分布大不相同.雖然到現(xiàn)時還有一些影子.

     

     

    2.ODBC(Open DataBase Connectivity : 開放數(shù)據(jù)庫連接)

     

    ODBCMicrosoft Windows Open Standards Architecture (WOSA,Windows開放服務體系)的重要組成部分,Microsoft公司于1991年底發(fā)布,短短幾年已成為事實上的工業(yè)標準.它建立了一組規(guī)范,提供了一套分層(隨著層的擴展,數(shù)據(jù)服務能力不斷的增強)的標準API(支持SQL),它解決了嵌入式SQL接口的非規(guī)范核心,數(shù)據(jù)應用系統(tǒng)用它來訪問任何提供了ODBC驅動程序(一組DLL)的數(shù)據(jù)庫,結束了過去針對不同的數(shù)據(jù)庫系統(tǒng)開發(fā)須掌握相應數(shù)據(jù)訪問API的時代.事實上,可將ODBC體系看作統(tǒng)一的數(shù)據(jù)訪問界面,而使這種統(tǒng)一的數(shù)據(jù)訪問成為可能的就是各數(shù)據(jù)庫產(chǎn)品廠商提供的相應的ODBC Provider(ODBC提供者即ODBC 驅動),ODBC一般只能用于關系數(shù)據(jù)庫,很難訪問對象數(shù)據(jù)庫或其它非關系數(shù)據(jù)庫或數(shù)據(jù)系統(tǒng).下面簡述ODBC體系的組成和工作原理. ODBC規(guī)范闡釋,ODBC體系有四個組成部分:ApplicationDriver ManagerDriver、Data Source.(如下圖).

    odbc gig 

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

             1.數(shù)據(jù)應用系統(tǒng)首先獲得在ODBC數(shù)據(jù)源管理器中建立的DSN(存儲了與數(shù)據(jù)提供程序連接的詳細信息包含數(shù)據(jù)庫位置、數(shù)據(jù)庫類型及相應的ODBC驅動程序等),然后 Driver Manager依賴一種叫做數(shù)據(jù)庫獨立的交流(Database Indepedent Communications Technology)的技術與數(shù)據(jù)源建立聯(lián)系(其中涉及客戶端和服務器端多種Agent對象的問題,詳情不敘,可參見下圖).

    odbc2 gif
     

            2.Driver Mangaer調用特定ODBC驅動程序將ODBC標準API轉化為適用于具體數(shù)據(jù)庫系統(tǒng)的函數(shù)調用(數(shù)據(jù)庫特征不同之處也在這里翻譯如SQL語法差異等),然后經(jīng)由客戶端的Request Agent發(fā)送到數(shù)據(jù)源.

            3.數(shù)據(jù)源Database Agent處理操作,將結果返回到客戶端的Request Agent,再向上經(jīng)Driver(這里會有翻譯和標準化錯誤碼的行為)、Driver Mangaer返回給Application.

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

      

        結合ODBC API調用順序描敘工作流程:初始化(分配環(huán)境--->分配連接句柄--->與服務器連接--->分配語句句柄)-------->SQL處理(語句處理和檢索部分)-------->終止(釋放語句句柄--->與服務器斷開--->釋放連接句柄--->釋放環(huán)境).

     

     

    3.OLE DB(Object Link and Embedding DataBase)

     

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

       此時Microsoft公司的通用數(shù)據(jù)訪問技術(UDA)應運而生,它使數(shù)據(jù)應用系統(tǒng)能通過實現(xiàn)標準OLE DB接口的數(shù)據(jù)提供者來訪問各種各樣的數(shù)據(jù),而不管數(shù)據(jù)駐留在何處,也不需要進行數(shù)據(jù)轉移或復制、轉換.

       OLE DB作為一種數(shù)據(jù)訪問接口體系,體現(xiàn)了Microsoft的通用數(shù)據(jù)訪問(UDA)策略的理念.UDA能夠通過標準接口來訪問各種類型的數(shù)據(jù).同于ODBC體系它也提供了一套標準API,不過OLE DB API是完全基于COM,其特點是采用了多層模型.COM通信層的一側是數(shù)據(jù)另一側則是數(shù)據(jù)使用者.這種基于COM的通信可被概括為在抽象對象(DataSourceSession、Command Rowset)上執(zhí)行的操作.因此,當使用者連接到DataSource,打開 Session,發(fā)出Command,并返回數(shù)據(jù)Rowset,便會出現(xiàn)這種情況.

     

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

    系統(tǒng)的訪問操作,這組接口為數(shù)據(jù)使用者和數(shù)據(jù)提供者建立了標準,OLE DB還提供了一組標準

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

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

     

     

    待續(xù):

     

    4.  JDBC(Java DataBase Connectivity : Java數(shù)據(jù)庫連接)

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

               

    posted on 2005-04-12 10:31 笨笨 閱讀(349) 評論(0)  編輯  收藏 所屬分類: J2EE 、ALL 、程序員生活 、個人項目所需資料
    主站蜘蛛池模板: 免费观看成人久久网免费观看| 亚洲午夜精品久久久久久app| 亚洲精品亚洲人成在线观看| 免费人成网站在线播放| 拔擦拔擦8x华人免费久久| 免费电视剧在线观看| 毛片免费在线视频| 好爽…又高潮了毛片免费看| 最近免费中文字幕视频高清在线看 | 国产免费变态视频网址网站| 成人看的午夜免费毛片| 在线观看成人免费| 国产做床爱无遮挡免费视频| gogo全球高清大胆亚洲| 亚洲国产精品综合久久一线| 亚洲人成无码久久电影网站| 亚洲一区二区三区香蕉| 亚洲狠狠综合久久| 亚洲国产午夜精品理论片| 亚洲国产一区在线观看| 亚洲午夜无码久久久久小说 | 亚洲美女视频免费| 亚洲一级大黄大色毛片| 亚洲老熟女五十路老熟女bbw| 国产精品亚洲AV三区| 丁香六月婷婷精品免费观看| 免费人成激情视频在线观看冫 | 两性色午夜免费视频| 最近免费中文字幕高清大全| 成年免费大片黄在线观看岛国 | 精品亚洲永久免费精品| 亚洲精品免费在线视频| 免费看片免费播放| 亚洲精品色婷婷在线影院| 午夜亚洲www湿好大| 亚洲六月丁香婷婷综合| 一个人晚上在线观看的免费视频 | 一区视频免费观看| 麻花传媒剧在线mv免费观看| 精品久久免费视频| 亚洲桃色AV无码|