999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

RDS遠程數據訪問技術研究

2008-04-12 00:00:00王瑩娜宋劍波向小梅
現代電子技術 2008年20期

摘 要:基于網絡的計量測試系統需要解決的問題之一就是遠程數據訪問。對ADO的RDS的對象模型和編程模型進行研究,闡述RDS的功能和特點,研究RDS數據訪問技術的具體實現方法,分析RDS的安全性并提出相應的解決方案。作為一種先進的數據訪問技術,RDS能為計量測試系統遠程數據訪問提供有力的技術基礎。

關鍵詞:ADO;RDS;三層應用程序模型;計量測試系統

中圖分類號: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 引 言

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

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

2 三層應用程序模型

遠程數據服務技術建立在3層應用程序模型基礎上。該模型包括客戶端層、中間層和數據源層。

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

中間層 運行封裝了組織業務規則的組件。中間層組件可以是在 Internet Information Server 上執行的 Active Server Pages 腳本,或者是單獨編譯的可執行文件。

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

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

3 RDS對象模型

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

3.1 服務器端對象RDSServer.Data Factory

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

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

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

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

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

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

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

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

3.3 RDS事件

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

在RDS.DataControl 的ReadyState 屬性更改時調用onReadyStateChange事件,以此對異步操作的完成、結束或出現錯誤等發出通知。

當發生錯誤時,包括在異步操作執行的過程中發生錯誤時,調用onError事件。

4 RDS編程模型

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

RDS實現三層應用程序環境中的數據遠程訪問:客戶端應用程序指定將在服務器上執行的程序,并指定用來返回相應信息的參數。服務器上被調用的程序訪問指定的數據源、檢索信息、對數據進行相應處理,然后將結果信息返回給客戶端應用程序。

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

(1) 創建DataSpace對象,并指定服務器上運行的程序(DataFactory或自定義業務對象)。

(2) 將參數傳送到服務器程序并調用服務器程序(DataFactory或自定義業務對象)。服務器程序通過ADO 訪問數據源。

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

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

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

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

RDS運行流程如圖2所示:

4.1 RDS對象的創建順序

先創建DataSpace對象:

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

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

再由DataSpace對象創建DataFactory對象:

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

或者:

先創建DataControl對象(順序上與DataSpace和DataFactory沒有依賴關系):

<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對象創建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屬性設置為Recordset對象時,DataControl 便可被可視控件使用。將可視控件對象的DATASRC參數設置為 RDS.DataControl,并將 DATAFLD 屬性設置為 Recordset 對象字段。

DC1.SourceRecordset = RS

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

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

5 RDS的安全問題

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

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

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

6 結 語

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

參考文獻

[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 揭秘\\.北京:電子工業出版社,1999.

[5]習勝豐.基于RDS與MTS的N層事務性Web數據庫應用程序的構造與實現[J].計算機系統應用,2003(11):19-21.

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

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

[8]彭江平,謝勇.利用RDS實現瀏覽器環境下的批量數據修改[J].微型機與應用,2000,19(6):55-58.

[9]劉福明,顧文涓,李莉,等.基于MTS的三層結構的研究與實現[J].計算機應用研究,2002,19(5):92-94.

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

[11]賴學成,張薇薇.基于B/S結構的數據綁定技術及遠程數據服務應用的構筑[J].計算機工程,2001,27(1):130-132.

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

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

主站蜘蛛池模板: 国产无遮挡裸体免费视频| 精品免费在线视频| 伊人91在线| 色噜噜综合网| 草逼视频国产| 97色伦色在线综合视频| 欧美www在线观看| 国产成人精品免费视频大全五级 | 亚洲欧洲一区二区三区| 国产精品成人观看视频国产| 激情综合激情| 久久黄色影院| 91精品国产综合久久香蕉922| 日韩欧美一区在线观看| 精品乱码久久久久久久| 婷婷综合亚洲| 亚洲熟女中文字幕男人总站| 免费亚洲成人| 国产香蕉一区二区在线网站| 国产全黄a一级毛片| 午夜毛片免费看| 亚洲精品成人片在线观看| 免费毛片视频| 国产手机在线ΑⅤ片无码观看| 国产香蕉在线| 四虎国产精品永久在线网址| 精品国产成人高清在线| а∨天堂一区中文字幕| 国产精品部在线观看| 高清免费毛片| 丰满的熟女一区二区三区l| 在线视频精品一区| 亚洲第一av网站| 国产成人精品一区二区| 亚洲女人在线| 亚洲成aⅴ人片在线影院八| 在线观看网站国产| 97精品伊人久久大香线蕉| 欧美色亚洲| 四虎永久在线| 欧美成人a∨视频免费观看| 911亚洲精品| 久久福利片| 在线不卡免费视频| 亚洲第一成网站| 国产福利微拍精品一区二区| 亚洲日韩高清无码| 欧美不卡在线视频| 免费a在线观看播放| 国产91小视频在线观看| 久久精品66| 欧美另类第一页| 成人毛片在线播放| 欧美成人亚洲综合精品欧美激情| 毛片一区二区在线看| 免费激情网站| 久久久久88色偷偷| 国产精品免费入口视频| 色哟哟国产精品一区二区| 亚洲黄色视频在线观看一区| 91亚洲视频下载| 色综合天天综合| 国产成人精品亚洲77美色| 国产精品一区在线麻豆| 国产成人精品一区二区免费看京| 午夜精品久久久久久久无码软件| 国产精品成| 日韩精品亚洲一区中文字幕| 国产成人你懂的在线观看| 四虎成人免费毛片| 一本久道久综合久久鬼色| 人人爽人人爽人人片| 欧洲熟妇精品视频| 中文字幕亚洲另类天堂| 香蕉久久永久视频| 亚洲av无码久久无遮挡| 国产欧美视频综合二区| 亚洲视频一区| 国产va在线| a在线亚洲男人的天堂试看| 亚洲高清无在码在线无弹窗| 欧美成人免费午夜全|