麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

ADO+ 引導(dǎo)數(shù)據(jù)種類(lèi)的演變(轉(zhuǎn)自 ms 一)

2019-11-18 21:35:46
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

   
ADO+ 引導(dǎo)數(shù)據(jù)種類(lèi)的演變

Dino Esposito

2000年9月



摘要: 本文討論了 ADO 的最新版本 ADO+ 所提供的增強(qiáng)的互操作性和可伸縮性。



目錄



簡(jiǎn)介

一種公用數(shù)據(jù)操縱語(yǔ)言

數(shù)據(jù)種類(lèi)

ADO+ 增加了哪些內(nèi)容

ADO+ 的構(gòu)成要素

ADO+ 命令

強(qiáng)類(lèi)型編程

摘要





--------------------------------------------------------------------------------





簡(jiǎn)介



從一開(kāi)始,開(kāi)發(fā)軟件應(yīng)用程序就是為了訪問(wèn)某種數(shù)據(jù)庫(kù)。分布式應(yīng)用程序和基于 Web 的應(yīng)用程序也不例外。然而在分布式方案中,由于可能存在不同的硬件和軟件平臺(tái)或?qū)ο竽P停虑樽兊蒙晕⒂悬c(diǎn)復(fù)雜。盡管如此,數(shù)據(jù)就是數(shù)據(jù),在幾乎任何地方都需要得到交換和處理。



在我們進(jìn)入可編程 Web 時(shí)代 — Internet 的第三個(gè)階段 — 之前,數(shù)據(jù)訪問(wèn)曾是一個(gè)相對(duì)簡(jiǎn)單的問(wèn)題;主要關(guān)心的問(wèn)題就是選擇效能成本最合算的數(shù)據(jù)庫(kù)服務(wù)器。任何系統(tǒng)的所有模塊都必須符合數(shù)據(jù)庫(kù)服務(wù)器 — 一種對(duì)整個(gè)系統(tǒng)進(jìn)行完全控制的全能實(shí)體 — 的要求。客戶(hù)機(jī)/服務(wù)器應(yīng)用程序一直是這種模型的典型表現(xiàn)形式。



近來(lái),n 層 Microsoft® Windows® DNA 系統(tǒng)致力于開(kāi)發(fā)能夠?qū)缀跞魏畏N類(lèi)的數(shù)據(jù)進(jìn)行迅捷可靠的訪問(wèn)的技術(shù),這些數(shù)據(jù)種類(lèi)包括:關(guān)系型、非關(guān)系型、層次型、半結(jié)構(gòu)化型、分散型、易失型等。這種數(shù)據(jù)訪問(wèn)的統(tǒng)一方法成為“通用數(shù)據(jù)訪問(wèn)”策略 — OLE DB 體系結(jié)構(gòu)的鼓舞人心的原則。Microsoft ActiveX® Data Objects (ADO) 的出現(xiàn)完成了一項(xiàng)重大的任務(wù):將成千上萬(wàn)的 Windows 開(kāi)發(fā)人員從過(guò)時(shí)的客戶(hù)機(jī)/服務(wù)器模型帶到數(shù)據(jù)訪問(wèn)組件和 OLE DB 的奇妙世界。



在 Windows DNA 模型中,中間層組件通過(guò) OLE DB 規(guī)范體貼地為我們定義的一種公用格式來(lái)獲取和交換數(shù)據(jù)。這種格式以行集格式為基礎(chǔ),并且通常被轉(zhuǎn)換為諸如 ADO 記錄集之類(lèi)的一種更高級(jí)的結(jié)構(gòu)。



使用 ADO 記錄集有得有失。一方面,它們提供了一種豐富并具有吸引力的編程接口。另一方面,它們是嚴(yán)格基于 COM 的,在涉及許多平臺(tái)(尤其是非 Windows 平臺(tái))的分布式異構(gòu)環(huán)境中無(wú)法使用。互操作性和可伸縮性是對(duì)現(xiàn)代 Web 系統(tǒng)的兩個(gè)很高的要求;互操作性和可伸縮性更好的數(shù)據(jù)訪問(wèn)體系結(jié)構(gòu)同樣是最新的 ADO 版本 ADO+ 中的主要變化。



一種公用數(shù)據(jù)操縱語(yǔ)言



通常情況下,目前的分布式系統(tǒng)符合圖 1 中所示的體系結(jié)構(gòu)。







圖 1. 目前的分布式 Web 系統(tǒng)的典型體系結(jié)構(gòu)



表示層通常基于 HTML 3.2 輸出,并能夠很好地與任何較新的瀏覽器一起工作。網(wǎng)頁(yè)是在 Web 服務(wù)器上使用 Active Server Pages (asp) 構(gòu)建的,并且只有在一些相當(dāng)特殊的情況下才試圖通過(guò) COM、動(dòng)態(tài) HTML 和 xml 支持來(lái)提供瀏覽器的實(shí)際功能。



關(guān)鍵之處是中間層,其中通常有一層或多層業(yè)務(wù)對(duì)象獲取并交換數(shù)據(jù)來(lái)響應(yīng)用戶(hù)的輸入。這些組件可能需要彼此傳遞數(shù)據(jù),并且在傳遞數(shù)據(jù)的過(guò)程中,它們需要一種易于使用、功能強(qiáng)大并為所有組件所理解的公用數(shù)據(jù)格式。ADO 記錄集 — 表或視圖的 ADO 表示 — 是一個(gè)相當(dāng)不錯(cuò)的解決方案,它有幾個(gè)優(yōu)點(diǎn),并且只有一個(gè)大的缺點(diǎn)。



ADO 記錄集的靈活性足以使您能夠毫不費(fèi)力地定位記錄以及使用過(guò)濾器和書(shū)簽。它們還提供排序、自動(dòng)分頁(yè)和持久性等功能,并能在與數(shù)據(jù)源斷開(kāi)時(shí)工作。可以在多層之間相當(dāng)高效地匯集記錄集,這歸功于其固有的并且極為緊湊的二進(jìn)制格式 — Advanced Data Table Gram (ADTG) 格式。



斷開(kāi)的記錄集在組件之間的傳輸涉及到 COM 匯集,并強(qiáng)制接收組件配合這一匯集。換句話(huà)說(shuō),只有 COM 對(duì)象才能使用 ADO 記錄集。這在 COM/DCOM 在業(yè)務(wù)層中占主導(dǎo)地位的同構(gòu)體系結(jié)構(gòu)中不成問(wèn)題。顯然,當(dāng)有關(guān)的服務(wù)器端組件的映射涉及到諸如大型機(jī)或 Unix 平臺(tái)之類(lèi)的異構(gòu)節(jié)點(diǎn)時(shí),就會(huì)帶來(lái)很大的不便。



所謂的 Internet 的第三個(gè)階段使這一方案離我們更近了。它預(yù)示了一個(gè)世界,在這個(gè)世界中,功能實(shí)現(xiàn)通過(guò)各種 Web 服務(wù)(即可以通過(guò) HTTP 訪問(wèn)的環(huán)繞著我們的衛(wèi)星系統(tǒng))成為可能。您將需要向這些服務(wù)中的某個(gè)傳遞一些記錄以進(jìn)行進(jìn)一步處理,這個(gè)方案并不是什么勉強(qiáng)的事情。沒(méi)有什么比 Web 服務(wù)更加容易的事了 — 不管它的內(nèi)部體系結(jié)構(gòu)或公共編程接口如何 — 它不接受 ADO 記錄集。



A目前現(xiàn)實(shí)中的 ADO,特別是記錄集,是在 Windows 和基于 COM 的方案中操縱數(shù)據(jù)的強(qiáng)有力的工具。不幸的是,隨著您的系統(tǒng)逐漸向完全的 Internet 互操作性方向演變,它們逐漸喪失了其吸引力。





--------------------------------------------------------------------------------





數(shù)據(jù)種類(lèi)



在完美的情況下,應(yīng)該能夠在任何平臺(tái)或設(shè)備上以相同的方式訪問(wèn)數(shù)據(jù),并具有相同的靈活性。這樣,每個(gè)平臺(tái)或設(shè)備都可以根據(jù)需要自由地操縱數(shù)據(jù)。如果您通過(guò) ADO 記錄集展示數(shù)據(jù),則您也使自己和您的應(yīng)用程序陷于有限互操作性的實(shí)際風(fēng)險(xiǎn)之中。



目前,如果您通過(guò) ADO 對(duì)數(shù)據(jù)進(jìn)行訪問(wèn),并希望將其傳送到遠(yuǎn)程組件,您要么使用從數(shù)據(jù)訪問(wèn)模塊獲得的相同的 ADO 記錄集,要么將其轉(zhuǎn)換為能夠通過(guò)網(wǎng)絡(luò)傳送的另外的東西,更為重要的是,能夠在其最終目的地被理解。如前所述,記錄集需要 COM 匯集,舉例來(lái)說(shuō),COM 調(diào)用并不是總能穿過(guò)公司防火墻。此外,在對(duì) ADO 記錄集進(jìn)行匯集時(shí),總處理時(shí)間的很大部分是用于完成必要的類(lèi)型轉(zhuǎn)換。事實(shí)上,您必須確保記錄中的所有的值映射到 COM 能夠識(shí)別并知道如何進(jìn)行處理的有效數(shù)據(jù)類(lèi)型。



在有關(guān)的組件在物理上是分開(kāi)的并在不同的機(jī)器上運(yùn)行時(shí),COM 匯集因素變得更為重要。因此,在向完全由 Internet 連接起來(lái)的世界前進(jìn)的過(guò)程中,目前的 Windows 數(shù)據(jù)種類(lèi)連同 ADO 記錄集必須有所發(fā)展才能繼續(xù)存在下去。



需要示例嗎?在 MIND 的 2000 年 1 月號(hào)(英文)以及 MSDN Magazine 的 2000 年 3 月號(hào)(英文)中的 Cutting Edge 專(zhuān)欄中,我對(duì)將遠(yuǎn)程腳本 (RS) 用作一種從遠(yuǎn)程 ASP 頁(yè)面獲取數(shù)據(jù)而不定位到該頁(yè)面的跨瀏覽器的技術(shù)進(jìn)行了說(shuō)明。當(dāng)您以這種方式調(diào)用某一頁(yè)面上的遠(yuǎn)程函數(shù)時(shí),RS 基礎(chǔ)結(jié)構(gòu)提供將函數(shù)返回的內(nèi)容發(fā)送回客戶(hù)機(jī)。在大多數(shù)情況下,您需要返回一個(gè)記錄集。然而,由于安全性原因,RS 甚至不會(huì)嘗試連同任何其它 COM 對(duì)象對(duì)某一 ADO 記錄集進(jìn)行處理。因而,如果使用 RS,您必須避免使用 ADO 記錄集,而應(yīng)當(dāng)使用數(shù)組或字符串傳遞所請(qǐng)求的信息。在 2000 年 3 月的專(zhuān)欄中,我通過(guò)從記錄集構(gòu)建一個(gè) javaScript 對(duì)象對(duì)這一內(nèi)在的限制進(jìn)行了說(shuō)明。ASP 頁(yè)面通過(guò) ADO 獲取數(shù)據(jù),并在返回調(diào)用程序前將其轉(zhuǎn)換為一個(gè) Javascript 對(duì)象:



rst = new ActiveXObject("ADODB.Recordset");

rst.open("select * from employees", "DSN=Northwind");

oRS = new Recordset(rst);

rst.close();

return oRS;



客戶(hù)機(jī)頁(yè)面通過(guò) RS 運(yùn)行時(shí)接收這一對(duì)象,并可以根據(jù)需要對(duì)其進(jìn)行處理,這比通過(guò)字符串或數(shù)組要容易得多。詳細(xì)信息和源代碼,請(qǐng)參見(jiàn)我的 2000 年 3 月 Cutting Edge 專(zhuān)欄文章(英文)。



我們從這里可以學(xué)到些什么嗎?對(duì)于超出單一客戶(hù)機(jī)或服務(wù)器端平臺(tái)的數(shù)據(jù)互操作性,我們需要對(duì) ADO 模型進(jìn)行一個(gè)較小的改變。



我們需要改變是由于跨平臺(tái)模塊的交互作用需要一個(gè)通用數(shù)據(jù)模型。此外,我們不希望這個(gè)改變太大,原因是 ADO 內(nèi)還存在若干很好的功能,放棄它們是一件可惜的事情。



JavaScript Recordset 對(duì)象,就其內(nèi)在的簡(jiǎn)單性而言,不過(guò)是一個(gè)次數(shù)的標(biāo)志。我們需要提取 ADO 記錄集的本質(zhì),并將其重新構(gòu)建成可以便利地在任意平臺(tái)上進(jìn)行傳輸和處理的另外一種東西。HTTP 提供了得到廣泛接受的網(wǎng)絡(luò)渠道。XML 將廣泛接受的數(shù)據(jù)描述的基礎(chǔ)結(jié)構(gòu)集合在一起。ADO+ 是對(duì) ADO 的較小改進(jìn),它使之成為一個(gè)用于創(chuàng)建分布式和數(shù)據(jù)共享應(yīng)用程序的基于各種標(biāo)準(zhǔn)的編程模型。      
   
      
   


原作者:不詳

來(lái) 源:www.microsoft.com

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 在线播放免费人成毛片乱码 | 久久99精品久久久久久秒播放器 | 国产精品一区99 | 午夜精品成人一区二区 | 精品国产观看 | 欧美精品黄色 | 中文字幕在线观看免费视频 | 国产精品成人av片免费看最爱 | 中文字幕观看 | 97色在线观看免费视频 | 国产在线精品一区二区三区 | 欧美性受ⅹ╳╳╳黑人a性爽 | 全黄裸片武则天艳史 | 成码无人av片在线观看网站 | 亚洲网站在线观看视频 | 亚洲乱码精品久久久久 | 特级西西444www大精品视频免费看 | 91午夜视频 | 毛片大全在线观看 | 91久久91久久精品免观看 | 人禽l交免费视频观看 视频 | av成人免费观看 | 日本欧美一区二区三区视频麻豆 | 91网站永久免费看 | 日韩在线激情 | 欧美男女爱爱视频 | 国产人妖一区二区 | 欧美wwwsss9999 | 中国av免费在线观看 | 毛片免费在线播放 | 九草在线视频 | 久久99综合 | 中文字幕精品在线视频 | 免费国产在线观看 | 精品亚洲一区二区三区 | 久久精品亚洲精品国产欧美kt∨ | 精品国产91久久久久久久 | 亚洲成人福利电影 | 鲁人人人鲁人人鲁精品 | av视在线| 亚洲人成网站免费播放 |