亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        RDS遠程數(shù)據(jù)訪問技術(shù)研究

        2008-04-12 00:00:00王瑩娜宋劍波向小梅
        現(xiàn)代電子技術(shù) 2008年20期

        摘 要:基于網(wǎng)絡(luò)的計量測試系統(tǒng)需要解決的問題之一就是遠程數(shù)據(jù)訪問。對ADO的RDS的對象模型和編程模型進行研究,闡述RDS的功能和特點,研究RDS數(shù)據(jù)訪問技術(shù)的具體實現(xiàn)方法,分析RDS的安全性并提出相應(yīng)的解決方案。作為一種先進的數(shù)據(jù)訪問技術(shù),RDS能為計量測試系統(tǒng)遠程數(shù)據(jù)訪問提供有力的技術(shù)基礎(chǔ)。

        關(guān)鍵詞:ADO;RDS;三層應(yīng)用程序模型;計量測試系統(tǒng)

        中圖分類號:TP274文獻標識碼:A文章編號:1004373X(2008)2008903

        Research on the Technique of Remote Data Access Based on RDS

        WANG Yingna1,SONG Jianbo2,XIANG Xiaomei2

        (1.Navy 704 Factory,Qingdao,266109,China;2.PLA 91635 Unit,Beijing,102249,China;

        3.93 Element,PLA 91388 Unit,Zhanjiang,524022,China)

        Abstract:Building a measurement and test system to run on a network,one of the problems needing to solve is remote data access.The object model and programming model of RDS,the function and characteristics of RDS ,and the technology of remote data access based on RDS is described in this paper.After analyzing the security of RDS,a solution for insuring the security is put forward as a basic technique for the remote data access.As an advanced technology of remote data access,RDS can provide powerful technologic support for the remote data access in the measurement and test system.

        Keywords:ADO;RDS;three-tier-application model;measurement and test system

        1 引 言

        隨著網(wǎng)絡(luò)的普及應(yīng)用,計量測試業(yè)務(wù)中已逐漸將遠程數(shù)據(jù)訪問技術(shù)應(yīng)用到測量系統(tǒng)中。使用Microsoft ActiveX Data Objects (ADO)通過 OLE DB 提供者對在數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)進行訪問和操作。其主要優(yōu)點是易于使用、高速、內(nèi)存消耗低和占用磁盤空間較少。ADO 支持基于客戶端/服務(wù)器和瀏覽器/服務(wù)器模型的應(yīng)用。

        RDS是ADO的組件,它提供快速且高效的數(shù)據(jù)連接,并為基于IE瀏覽器的應(yīng)用程序提供數(shù)據(jù)發(fā)布框架。它采用C/S架構(gòu)和分布式技術(shù),使用HTTP,HTTPS和DOCM應(yīng)用協(xié)議。通過 RDS 可以實現(xiàn)將數(shù)據(jù)從服務(wù)器移動到客戶端應(yīng)用程序或Web 頁、在客戶端對數(shù)據(jù)進行處理然后將更新結(jié)果返回服務(wù)器的操作。RDS改善了客戶端性能和靈活性。

        2 三層應(yīng)用程序模型

        遠程數(shù)據(jù)服務(wù)技術(shù)建立在3層應(yīng)用程序模型基礎(chǔ)上。該模型包括客戶端層、中間層和數(shù)據(jù)源層。

        客戶端層 運行Web 瀏覽器或單獨編譯的前端應(yīng)用程序。Web 瀏覽器顯示的Web 頁面可以顯示并處理來自遠程數(shù)據(jù)源的數(shù)據(jù)。或者由前端應(yīng)用程序顯示并處理來自遠程數(shù)據(jù)源的數(shù)據(jù)。

        中間層 運行封裝了組織業(yè)務(wù)規(guī)則的組件。中間層組件可以是在 Internet Information Server 上執(zhí)行的 Active Server Pages 腳本,或者是單獨編譯的可執(zhí)行文件。

        數(shù)據(jù)源層 運行數(shù)據(jù)庫管理系統(tǒng) (DBMS),該管理系統(tǒng)可以是 Microsoft SQL Server 數(shù)據(jù)庫或者其他的SQL數(shù)據(jù)庫。

        這些層不必對應(yīng)網(wǎng)絡(luò)上的物理位置。所有三層可只存在于2臺計算機上。一臺計算機運行Web瀏覽器,另一臺計算機運行 Internet Information Server 和 Microsoft SQL Server;或者,一臺計算機運行前端應(yīng)用程序,另一臺計算機運行中間層組件和 Microsoft SQL Server。

        3 RDS對象模型

        RDS對象模型包括3個主要的對象: RDS Server.Data Factory,RDS.DataSpace,RDS.Data Control。如圖1所示。

        3.1 服務(wù)器端對象RDSServer.Data Factory

        RDSServer.DataFactory對數(shù)據(jù)源執(zhí)行 SQL 查詢并返回 Recordset 對象,或從客戶端獲得 Recordset 對象并更新數(shù)據(jù)源。RDS.DataFactory 不進行任何驗證,也沒有建立業(yè)務(wù)規(guī)則。如果需要具備驗證和業(yè)務(wù)規(guī)則功能,則必須創(chuàng)建自定義業(yè)務(wù)對象來取代RDS.DataFactory對象。Visual Basic 6.0 企業(yè)版是創(chuàng)建自定義業(yè)務(wù)對象(ActiveX DLL)的一個很好用的工具。創(chuàng)建ActiveX DLL后,必須在服務(wù)器上注冊,還必須在中間服務(wù)器上添加 DLL 的 PROGID 到系統(tǒng)注冊表入口中給予 DLL 啟動的權(quán)限:

        [HKEY_LOCAL_MACHIN\\SYSTEM\\Current ControlSet\\Services\\W3SVC\\Parameters\\ADC Launch]

        3.2 客戶端對象RDS.DataSpace和RDS.DataControl

        RDS.DataSpace 是一個非可視的客戶端對象。它允許用 RDS 通過 HTTP,HTTPS 或 DCOM 創(chuàng)建一個位于遠程服務(wù)器上的業(yè)務(wù)對象實例。RDS.DataSpace 為業(yè)務(wù)對象創(chuàng)建一個客戶端代理。客戶端代理幫助在不同的機器之間壓縮、傳送 (組織)和解壓縮ADO記錄集。

        DataSpace對象負責(zé)與服務(wù)器進行通信,同時也是數(shù)據(jù)傳輸?shù)耐ǖ?。DataSpace對象由客戶端腳本語言或用HTML語言中的<OBJECT>標記創(chuàng)建。使用RDS.DataSpace的Create Object方法,可以在遠程服務(wù)器上創(chuàng)建一個 RDS.DataFactory 實例。RDS.Data Space對象與RDS Server.Data Factory協(xié)同工作。RDS.Data Factory執(zhí)行查詢并返回ADO記錄集。RDS.Data Space 將ADO記錄集下載到客戶端,重建記錄集,并設(shè)置RDS.Data Control的Source Recordset到重建的記錄集。

        RDS.DataControl數(shù)據(jù)控件負責(zé)數(shù)據(jù)的存儲及管理。它與HTML元素綁定在一起才能顯示數(shù)據(jù)。數(shù)據(jù)控件為HTML元素提供數(shù)據(jù),由HTML元素將數(shù)據(jù)顯示在Internet Explorer 的 Web 頁上。

        綁定數(shù)據(jù)控件與HTML元素,需要設(shè)置HTML元素2個屬性DATASRC和DATAFLD。DATASRC,確定包含數(shù)據(jù)的數(shù)據(jù)控件。在數(shù)據(jù)源名稱前總是要加一個“#”。DATAFLD,確定綁定數(shù)據(jù)控件中的哪個字段。這些字段是數(shù)據(jù)控件管理的數(shù)據(jù)中的列名。對于一個數(shù)據(jù)庫,就是表中的列名。

        RDS.DataControl 對象也有其自己的方法用于定位、排序和篩選記錄。這些方法與ADO Recordset 對象的方法相似。

        3.3 RDS事件

        RDS支持2個獨立于ADO事件模型的自身事件:onReadyStateChange,onError。

        在RDS.DataControl 的ReadyState 屬性更改時調(diào)用onReadyStateChange事件,以此對異步操作的完成、結(jié)束或出現(xiàn)錯誤等發(fā)出通知。

        當發(fā)生錯誤時,包括在異步操作執(zhí)行的過程中發(fā)生錯誤時,調(diào)用onError事件。

        4 RDS編程模型

        RDS通過 Internet Information Server訪問和更新數(shù)據(jù)源。編程模型則指定為完成這個目的所必需的活動序列。

        RDS實現(xiàn)三層應(yīng)用程序環(huán)境中的數(shù)據(jù)遠程訪問:客戶端應(yīng)用程序指定將在服務(wù)器上執(zhí)行的程序,并指定用來返回相應(yīng)信息的參數(shù)。服務(wù)器上被調(diào)用的程序訪問指定的數(shù)據(jù)源、檢索信息、對數(shù)據(jù)進行相應(yīng)處理,然后將結(jié)果信息返回給客戶端應(yīng)用程序。

        RDS 按照以下編程模型工作:

        (1) 創(chuàng)建DataSpace對象,并指定服務(wù)器上運行的程序(DataFactory或自定義業(yè)務(wù)對象)。

        (2) 將參數(shù)傳送到服務(wù)器程序并調(diào)用服務(wù)器程序(DataFactory或自定義業(yè)務(wù)對象)。服務(wù)器程序通過ADO 訪問數(shù)據(jù)源。

        (3) 服務(wù)器程序從數(shù)據(jù)源獲得Recordset 對象。DataFactory可以對Recordset 對象進行處理。

        (4) 服務(wù)器程序與DataSpace對象協(xié)作將Recordset 對象返回客戶端DataControl對象。

        (5) DataControl對象與HTML可視化控件綁定,Recordset 對象被轉(zhuǎn)換成為便于可視化控件使用的格式。

        (6) 對客戶端Recordset對象所做的修改都將通過DataSpace對象返回給服務(wù)器程序DataFactory或自定義業(yè)務(wù)對象,服務(wù)器程序用這些修改后的記錄集更新數(shù)據(jù)源。

        RDS運行流程如圖2所示:

        4.1 RDS對象的創(chuàng)建順序

        先創(chuàng)建DataSpace對象:

        <OBJECT ID=\"RDS1\" WIDTH=1 HEIGHT=1

        CLASSID=\"CLSID:BD96C556-65A3-11D0-983A-00C04FC29E36\"> </OBJECT>

        再由DataSpace對象創(chuàng)建DataFactory對象:

        Set DF1 = DS1.CreateObject(\"RDSServer.DataFactory\",\"http://<%=Request.ServerVariables(\"SERVER_NAME\")%>\")

        或者:

        先創(chuàng)建DataControl對象(順序上與DataSpace和DataFactory沒有依賴關(guān)系):

        <OBJECT CLASSID=\"clsid:BD96C556-65A3-11D0-983A-00C04FC29E33\" ID=\"DC1\">

        <PARAM NAME=\"SQL\" VALUE=\"SELECT * FROM authors\">

        <PARAM NAME=\"Connect\" VALUE=\"DSN=YourDSN\">

        <PARAM NAME=\"Server\" VALUE=\"http://YourServer/\">

        </OBJECT>

        再由DataControl對象創(chuàng)建DataFactory對象:

        Set DF1 = DC1.CreateObject(\"RDSServer.DataFactory\",\"http:// <%=Request.ServerVariables(\"SERVER_NAME\")%>\")

        使用RDSServer.DataFactory對象的Query方法獲得Recordset對象:

        Dim RS as ADODB.Recordset

        Set DF1 = DS1.CreateObject(\"RDSServer.DataFactory\",\"http://yourServer\")

        Set RS = DF1.Query (\"DSN=pubs\",\"SELECT * FROM authors\")

        4.2 Recordset對象的使用

        Web 頁上的可視控件無法直接訪問Recordset對象。但可以通過 DataControl訪問Recordset對象。當 DataControl的SourceRecordset屬性設(shè)置為Recordset對象時,DataControl 便可被可視控件使用。將可視控件對象的DATASRC參數(shù)設(shè)置為 RDS.DataControl,并將 DATAFLD 屬性設(shè)置為 Recordset 對象字段。

        DC1.SourceRecordset = RS

        <DIV DATASRC=\"#DC1\" DATAFLD=\"au_fname\"></DIV>

        <DIV DATASCR=\"#DC1\" DATAFLD=\"au_lname\"></DIV>

        5 RDS的安全問題

        在創(chuàng)建DataControl對象時,如果使用Connect和SQL屬性,連接服務(wù)器的名稱以及數(shù)據(jù)庫的相關(guān)細節(jié)就暴露出來,獲得DSN、用戶標識符和密碼信息的外部用戶可以編寫將任何查詢發(fā)送到該數(shù)據(jù)源的頁面。安全的做法是使用URL屬性。這樣,用戶所見到的是一個ASP網(wǎng)頁的URL地址,沒有任何有關(guān)服務(wù)器和數(shù)據(jù)庫的詳細信息。

        <OBJECT CLASSID=\"clsid:BD96C556-65A3-11D0-983A-00C04FC29E33\" ID=\"DC1\" > <PARAM NAME=\"URL\" VALUE=\"DataPage.asp\"> </OBJECT>

        如果希望對數(shù)據(jù)源有更多的限制訪問,可以取消注冊并刪除 DataFactory對象 (msadcf.dll),用自定義業(yè)務(wù)對象取代DataFactory對象。

        6 結(jié) 語

        RDS采用基于SSL(Secure Sockets Layer)的HTTPS協(xié)議,將記錄集透明地緩存到客戶端,在客戶端處理數(shù)據(jù)后將修改的記錄集提交給服務(wù)器更新數(shù)據(jù)源。避免反復(fù)訪問服務(wù)器數(shù)據(jù),節(jié)約了服務(wù)器資源,使得開發(fā)以數(shù)據(jù)為中心的基于網(wǎng)絡(luò)的數(shù)據(jù)庫應(yīng)用程序更簡單,提高了遠程數(shù)據(jù)訪問的安全水平,從而為計量測試業(yè)務(wù)中利用該技術(shù)進行遠程數(shù)據(jù)訪問提供了技術(shù)支持。

        參考文獻

        [1]John V Petersen.ADO Jumpstart for Microsoft Visual FoxPro Developers,1999.

        [2]Kamaljit Bath.Using the Customization Handler Feature in RDS 2.1,1999.

        [3]Kamaljit Bath.Remote Data Service in MDAC,1998.

        [4]Rob Thayer.Visual Basic 6 揭秘\\.北京:電子工業(yè)出版社,1999.

        [5]習(xí)勝豐.基于RDS與MTS的N層事務(wù)性Web數(shù)據(jù)庫應(yīng)用程序的構(gòu)造與實現(xiàn)[J].計算機系統(tǒng)應(yīng)用,2003(11):19-21.

        [6]李寧,許林英.MTS資源管理深入分析及應(yīng)用[J].計算機應(yīng)用研究,2002,19(5):30-40,48.

        [7]丁鵬,劉莉.C/S,B/S模式中的分布式計算與MTS解決方案[J].計算機應(yīng)用研究.2000,17(12):60-62.

        [8]彭江平,謝勇.利用RDS實現(xiàn)瀏覽器環(huán)境下的批量數(shù)據(jù)修改[J].微型機與應(yīng)用,2000,19(6):55-58.

        [9]劉福明,顧文涓,李莉,等.基于MTS的三層結(jié)構(gòu)的研究與實現(xiàn)[J].計算機應(yīng)用研究,2002,19(5):92-94.

        [10]鄧亞玲,王新房,潘永湘,等.RDS在Web基信息管理系統(tǒng)開發(fā)中的應(yīng)用[J].計算機工程與應(yīng)用,2002,38(3):135-137.

        [11]賴學(xué)成,張薇薇.基于B/S結(jié)構(gòu)的數(shù)據(jù)綁定技術(shù)及遠程數(shù)據(jù)服務(wù)應(yīng)用的構(gòu)筑[J].計算機工程,2001,27(1):130-132.

        [12]李革新,陳建新.基于Web數(shù)據(jù)庫的開發(fā)方案及其編程模型研究[J].計算機工程,2001,27(12):191-193.

        作者簡介 王瑩娜 女,1972年出生,碩士研究生,海軍704廠工程師。

        亚洲福利第一页在线观看| 免费特级毛片| 日本丶国产丶欧美色综合| 欧美亚洲国产丝袜在线| 国产av旡码专区亚洲av苍井空| 国产乱理伦片在线观看| 最新在线观看精品国产福利片| 在线观看二区视频网站二区| 熟女体下毛荫荫黑森林| 伊人久久五月丁香综合中文亚洲| 久久国产乱子伦精品免费强| av有码在线一区二区三区| 国产激情久久久久久熟女老人| 色哟哟网站在线观看| 98精品国产综合久久| 国产激情小视频在线观看的| 国产三级a三级三级| 无码任你躁久久久久久| 中出高潮了中文字幕| 日韩一二三四区在线观看| 无码人妻丰满熟妇区bbbbxxxx| 亚洲av无码成人精品区在线观看| 国产在线AⅤ精品性色| 午夜亚洲精品视频在线| 摸进她的内裤里疯狂揉她动图视频| 日韩精品无码区免费专区| 青青草视频原手机在线观看| 美女丝袜美腿玉足视频| 免费看黄a级毛片| 久久精品国产热| 日本精品少妇一区二区| 国产激情一区二区三区| 国产黄a三级三级三级av在线看| 久久久精品人妻一区二区三区日本 | 996久久国产精品线观看| 国产香蕉一区二区三区| 亚洲午夜精品一区二区麻豆av| 初女破初的视频| 欧美三级超在线视频| 蜜臀人妻精品一区二区免费| 特黄熟妇丰满人妻无码|