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

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

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

    kapok

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

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

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


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


    3.OLE DB(Object Link and Embedding DataBase)

     

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

     

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

     

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

     

    事實上,OLE DB是系統級的編程接口,它定義了一組COM接口,這組接口封裝了各種數據

    系統的訪問操作,這組接口為數據使用者和數據提供者建立了標準,OLE DB還提供了一組標準

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

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

       OLE DB體系包括以下幾個組成部分(下圖示)

    ado gif

              數據提供者(Data Provider)   提供數據存儲的組件和數據,數據小到普通的文本文件、大到主機上的復雜數據庫,或者電子郵件存儲,都是數據提供者的例子. 的文檔把這些軟件組件的開發商也稱為數據提供者.

              數據服務提供者(Data Service Provider)    位于數據提供者之上、從過去的數據庫管理系統中分離出來、獨立運行的功能組件,例如查詢處理器和游標引擎(Cursor Engine),這些組件使得數據提供者提供的數據以表狀數據(Tabular Data)的形式向外表示(不管真實的物理數據是如何組織和存儲的),并實現數據的查詢和修改功能.SQL Server 7.0 的查詢處理程序就是這種組件的典型例子.

              業務組件(Business Component)   利用數據服務提供者、完成某種特定業務信息處理、可以重用的功能組件.分布式數據庫應用系統中的中間層(Middle-Tier) 是這種組件的典型例子.

            數據消費者(Data Consumer)   任何需要訪問數據的系統程序或應用程序,除了典型的數據庫應用程序之外,還包括需要訪問各種數據源的開發工具或語言.

     

    當然上圖側重非關系數據系統的示意.如今,幾乎所以的關系數據庫廠商都提供了OLE DB Provider以投入OLE DB新體系.當然對于只能獲得ODBC Provider的用戶,只要你再獲得OLE DB-ODBC Bridge也是可以的.(圖示如下:以ORACLE系統為例)

    oracle gif           

    自然,各數據庫廠商的OLE DB Provider大體功能同于ODBC Provider.對各數據庫系統的獨特功能提供支持、對特定數據訪問進行優化等等.

     

     

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

                  

         Internet/intranet及相應環境下的應用系統的發展,造就了今日的Java.自然在Java數據應用系統中,JDBC是首選方案.ODBC類似,JDBCJava開發人員提供了一套標準的數據訪問API.

          JDBCSunMicroSystem公司的JavaSoft分部提出的Java數據應用訪問的標準API.JDBC是基于X/OpenSQL的調用級接口(這也是ODBC的基礎).JDBC可保證JDBCAPI在其它通用SQLAPI之上實現.這也意味著所有支持ODBC的數據庫不加任何修改能夠與JCBC協調工作.  JDBC設計很多借鑒于ODBC
               1.JDBC與
    ODBC都是基于X/OpenSQL調用級接口

                 2.JDBC很多設計思想沿襲了ODBC,包括許多抽象和SQL CLI實現

                3.JDBC的總體結構類似于ODBC,有四個組件:應用程序、驅動程序管理器、驅動程序和數據源,工作原 理亦大體同于ODBC. 此外:

                1.JDBC保持了ODBC的基本特性,也獨立于特定數據庫.

                  2.使用相同源代碼的應用程序通過動態加載不同的JDBC驅動程序,可以訪問不同的DBMS.連接不同的 DBMS,各個DBMS之間僅通過不同的URL進行標識.

             3.JDBCDatabaseMetaData接口提供了一系列方法,可以檢查DBMS對特定特性的支持,并相應確定有什 么特性,從而能對特定數據庫的特性予以支持

               4.JDBC也支持在應用程序中同時建立多個數據庫連接,采用JDBC可以很容易地用SQL語句同時訪問多個 異構的數據庫,為異構的數據庫之間的互操作奠定基礎.

        

            然而,由于基于Java,具有對硬件平臺、操作系統異構性的支持.這主要因為ODBC基本用C開發,JDBCJava開發.Java語言,具有與平臺無關、移植性強、安全性高、穩定性好、分布式、面向對象等眾多優點,JDBC使“100 Java”解決方案成為可能.利用Java的平臺無關性更適合于Internet上異構環境的數據庫應用.此外,JDBC驅動程序管理器可內置,也可通過Web瀏覽器自動下載,無須安裝、配置,ODBC驅動程序管理器和ODBC驅動程序必須在每臺客戶機上分別安裝、配置.

        上面提及,JDBCODBC組成、工作原理基本相同,事實上,即使有區別,那也只因為驅動程序的解決方案有差異.一般,Java的驅動解決方案有四種:1.JDBC-ODBC Bridge 2.本機API/集團式Java驅動程序  3.網絡協議/Java  4.本機協議/Java

     

     

     

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

               

     


     

                                       

                                               二、數據對象模型探討(待續)


    ------------------------------------------------聲明---------------------------------------------------

        本文檔順數據庫應用發展歷史而下,以數據訪問接口和數據對象模型的發展、特征、相
     互之間的區別為主線,描述了它的軌跡.希望對數據系統開發者有些幫助.
          
    本文中,久遠的信息(對本人來說)系參考書籍,有錯誤之處,請指出
                                   81_redstar@163.com

                            本文檔標以版本,目的在于希望大家閱讀之后,
            發現不妥或錯誤或需要補充的地方,聯系我,對之進行修改,以完善之.
                        
    使之成為持久的網上參考資料.  

                                                  Beat 1.0 2003.2.25
                                        -----------------------------------        
       

     

    posted on 2005-04-12 10:32 笨笨 閱讀(361) 評論(0)  編輯  收藏 所屬分類: J2EEALL程序員生活個人項目所需資料
    主站蜘蛛池模板: 亚洲AⅤ男人的天堂在线观看| 免费av欧美国产在钱| 亚洲av无码一区二区三区人妖 | 亚洲网站在线观看| 亚洲国产一区二区三区| 免费无码A片一区二三区 | 久久精品国产精品亚洲蜜月| 国产乱人免费视频| 女人18毛片a级毛片免费视频| 99久在线国内在线播放免费观看| 久久久久久久久久免免费精品| 色偷偷亚洲男人天堂| 亚洲精品无码高潮喷水A片软| 亚洲日产2021三区| 久久国产亚洲精品无码| 亚洲av无码精品网站| 亚洲人成网站在线播放vr| 亚洲人成影院在线观看| 亚洲AV无码乱码在线观看牲色| 黑人粗长大战亚洲女2021国产精品成人免费视频| 欧洲精品99毛片免费高清观看| 精品国产免费一区二区三区香蕉| 97在线视频免费公开视频| 成年网站免费入口在线观看 | 亚洲AV无码乱码在线观看| 又粗又大又硬又爽的免费视频| 香蕉高清免费永久在线视频| 在线成人a毛片免费播放| 天天干在线免费视频| 精品国产免费一区二区| 国产精品黄页在线播放免费| 日本一道在线日本一道高清不卡免费| 国内自产少妇自拍区免费| 全免费一级毛片在线播放| 国产一精品一aⅴ一免费| 免费一区二区三区四区五区| 国产真人无遮挡作爱免费视频 | 亚洲永久在线观看| 最新亚洲春色Av无码专区| 亚洲日本一线产区和二线产区对比| 亚洲中文字幕久久无码|