亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

ADO的定義

系統 1548 0
導讀:
  在本書前7章中,已經講述了ASP的有關內容,以及ASP如何為Web站點帶來動態(tài)的內容。已經見到其腳本程序允許自定義Web頁面,使我們能夠構建功能更為強大的ASP頁面。
  現在,將研究ASP和數據的集成。雖然對用于網頁中的腳本數量并無任何限制,但如果沒有某種形式的數據,很快就會進入一個死胡同。數據構成了Web站點的實際內容,或者指出了如何設置Web站點,因此總的說來數據是非常重要的。如果圍繞數據存儲建立Web站點,改變Web站點時只需要改變相應的數據即可。
  ActiveX數據對象(ADO)是允許用戶與數據存儲進行交互的組件。這意味著只要基于某些數據就可建立一個網頁,或一種完全交互的電子商務系統。不論哪種方式,都是ADO使我們能與數據進行通信。我們將討論從數據存儲獲取和傳送數據的主要內容,以及得到數據后的數據處理方法。
  首先研究什么是ADO及其所包括的組件,然后討論如何訪問數據存儲。在下一章,將進一步學習ADO更先進的一些特性,如命令、存儲過程和優(yōu)化應用程序的一些操作技巧。下一步研究Web服務器和瀏覽器之間的交互過程,以及數據處理過程。然后研究數據存取領域中極具潛力的XML。XML是什么?如何使用?因為XML代表著未來發(fā)展的一種趨勢,我們將介紹微軟關于通用數據存取的構想。在這個構想中,數據不只是從數據庫中獲得的。最后,看一下標準的微軟數據庫(如Access與SQL Server)以及在其中如何使用ADO。
  本章從ADO開始,主要內容有:
  研究ADO如何與數據進行交互。
  了解ADO的組件。
  如何與數據存儲連接和創(chuàng)建數據集。
  如何處理和修改數據。
  如何處理ADO錯誤。
  8.1 ADO的定義
  ADO是一個相當簡單的思想,一種讓你僅用一種方式去訪問數據的思想。ADO不算一個新思想,僅是采用現有的數據庫訪問技術,并將其融合而形成的一種適應現在和未來需要的新東西。適應未來的需求是一件十分重要的事。許多其他的技術,比如DAO和ODBC,在一些應用程序的開發(fā)過程中是可以接受的,然而隨著Internet的興起也出現了其自身的一些問題。
  在許多情況下,傳統的數據存取方法看上去能解決一些關于兩層客戶/服務器系統的問題,但要求與數據之間要保持一種永久性的連接,并要提供強大的功能,比如快速響應的查詢、數據容易修改等。在Internet領域,現在必須考慮到Web無狀態(tài)性本質,和潛在的眾多可以訪問Web站點的用戶。要與數據建立永久的連接是不現實的,因此必須在設計應用程序時考慮這些因素。
  那么,OLD DB和ADO確切地講到底是什么?讓我們與一些已有的數據存取技術做比較后再來回答這個問題。如果讀者曾經接觸過數據庫編程,或許比較熟悉ODBC和RDO。開放數據庫連接(ODBC)是允許訪問關系數據庫(比如Access和SQL Server)的應用程序編程接口(API)。正因為是一個API,許多程序員,特別是Visual Basic領域的程序員,發(fā)現它使用起來很復雜。遠程數據對象(RDO)是位于ODBC上層的ActiveX對象,可以提供ODBC的所有功能,并且使用起來比較簡單。
  可以將OLE DB等同于ODBC,ADO等同于RDO。
  OLE DB是應用程序與數據源交互的一種基本技術。
  這相當復雜,確實也只有C和C++程序員能夠使用。正如ADO的名字所暗示的,它是易于訪問OLE DB功能的ActiveX對象。
  你或許發(fā)現術語ActiveX與COM對象經?;煊?。對于ASP程序員來說它們并沒有本質上的區(qū)別,因為兩者都基于COM系統結構,只不過ActiveX是組件的一個跨平臺標準,而COM是Windows專有的。
  雖然微軟已經引入了一種新的存取數據的技術,但并沒有立即取消舊的技術,ODBC工作起來仍然很有效,并同OLE DB和ADO緊密地一起工作著。事實上,ODBC并不只是微軟的產品,也受到國際組件的控制。并且由于廣泛的使用,ODBC也不會突然消亡。隱藏在OLE DB背后的思想不是摒棄現有的技術,而是不斷地改進它們。
  8.1.1 OLE DB和ADO的體系結構
  前面已經給出了OLE DB與ADO在一些主要方面的簡要解釋。圖8-1顯示了這兩項技術與應用程序和數據存儲相互關系:


  從圖8-1中可以看出整體思路。圖的頂端是應用程序(Web或常規(guī)的應用程序,這是無關緊要的),下面是提供對數據的訪問的ADO和/或OLE DB。ADO和OLE DB兩者兼有是因為OLE DB是一項基本技術。然而,OLE DB并不適用于所有語言,所以ADO位于OLE DB的上層,為那些不能直接訪問OLE DB的語言(如Visual Basic和腳本語言)提供編程接口。ADO提供了比OLE DB更容易的編程接口,因此即使那些可以直接使用OLE DB的編程語言,如C++或Java,也可使用ADO以簡化對數據的訪問。
  圖8-1顯示的是微軟的編程語言,而ADO是一個COM組件,因此可用于任何與COM兼容的編程語言,比如Delphi或支持Active Scripting接口的腳本語言。所以,雖然ADO與平臺有關,但與開發(fā)的語言是無關的。當然,對于ASP主要使用VBScript和JScript,在組件中使用ADO時,有一些Visual Basic代碼。
  現在知道了OLE DB和ADO允許訪問數據,可是為什么需要它們?老方法出問題了嗎?這里有兩個主要原因:
  首先,OLE DB和ADO是用來訪問數據存儲的。注意這里指“數據存儲”而不是“數據庫”。盡管數據庫仍舊是數據存儲最為廣泛的形式,但并不一定含有全部的數據。一些消息系統,如Microsoft Exchange Server,也普遍地用于存儲數據。目錄服務(Directory Service)正開始在初露端倪,它們包含著有關用戶、機器等的數據;Web服務器中存有大量的信息??梢岳^續(xù)羅列下去,很明顯需要一種能訪問所有這些不同類型數據的方法。
  其次,源于Internet應用程序的興起與Web的狀態(tài)本質。過去的訪問數據的方法主要考慮與數據存儲保持永久連接的情況下處理數據。而OLE DB和ADO正是為解決這個問題而設計的,提供斷開連接的記錄集,我們將會在后面看到有關這方面的內容。
  8.1.2 消費者與提供者
  ADO系統結構圖展示了ADO是如何在應用程序和真實數據存儲之間發(fā)揮作用的。在微軟的文獻中,會看到兩個易懂的術語:消費者(Consumer)和提供者(Provider),但搞清它們的確切定義至關重要。
  提供者是提供數據的物體,消費者是使用(消耗)這些數據的物體。
  在編程中,經常會發(fā)現應用程序是數據的消費者。但提供者呢?一般是數據存儲,并且由于OLE DB被設計成用于與不同的數據存儲對話,因此對于每一個獨特類型的數據存儲都有一個OLE DB提供者。
  這種單獨提供者的思想并不新,但使編程變得容易了。編寫程序與ADO或OLE DB對話,OLE DB再與提供者對話。這意味著只需學會一套訪問數據的方法,無論數據如何存儲,在某些情況下確實可以完全不改變任何代碼而只更換提供者。這就是ADO和OLE DB真正優(yōu)越的地方,為數據存儲提供了一套常用的編程接口。
  要連接到數據存儲,必須使用OLE DB提供者。提供給ADO 2.5的初始設置為:
  Jet OLE DB 4.0:用于微軟Access數據庫。
  DTS Packages:用于SQL Server的數據轉換服務(Data Transformation Services)。
  Internet Publishing:用于訪問Web服務器。
  Indexing Services:用于索引目錄(Index Catalogs)。
  Site Server Search:用于站點服務器查找目錄。
  ODBC Drivers:用于ODBC數據源。
  OLAP Services:用于微軟OLAP服務器。
  Oracle:用于Oracle數據庫。
  SQL Server:用于微軟SQL Server數據庫。
  Simple Provider:用于簡單的文本文件。
  MSDataShape:用于層次數據。
  Microsoft Directory Services:用于Windows 2000的目錄服務。
  DTS Flat File:用于SQL Server的數據轉換服務的平面文件管理。
  這只是微軟提供的初始列表,并取決于安裝在服務器上的服務及軟件。以Oracle數據提供者為例,要求在客戶機上安裝Oracle的客戶端軟件。
  可以從別的制造商那里獲得OLE DB提供者,用于其他數據存儲。甚至還可以編寫自己的提供者。在第11章,將演示如何

本文轉自
http://study.qqcf.com/web/241/26761.htm

ADO的定義


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 在线免费观看亚洲视频 | 亚洲国产日韩a在线亚洲 | 黄色在线视频观看 | 亚洲日韩成人 | 欧美亚洲国产精品第一页 | 麻豆国产精品 | 成人在线综合 | 伊人亚洲 | 91视频网址入口 | 在线成人播放毛片 | 乱在线伦视频免费 | 国产欧美在线观看精品一区二区 | 深夜国产福利 | 在线一级毛片 | 亚洲欧美日韩在线一区二区三区 | 亚洲精品乱码久久久久久麻豆 | 九九艹 | 天天干天天干天天 | 国产亚洲精品日韩综合网 | 手机看片日韩日韩 | 欧美日韩高清在线观看一区二区 | 国产精品视频免费观看 | 免看一级一片一在线看 | 欧美高清性粉嫩交 | 久久一级黄色片 | 精品69久久久久久99 | 亚洲国产福利精品一区二区 | 中文字幕在线免费观看视频 | 免费爱爱网站 | 深夜国产福利 | 国产色资源 | 国产高清视频青青青在线 | 91欧美在线 | 5060午夜一级毛片 | 精品免费久久久久国产一区 | 免费 高清 日本1在线观看 | 国产成人99 | 国产午夜影院 | 国产成人精品一区二区免费 | 久久国产高清字幕中文 | 久久精品中文字幕一区 |