利用ASP實(shí)現(xiàn)分布式異構(gòu)數(shù)據(jù)庫(kù)共享服務(wù)的幾點(diǎn)技術(shù)探討課件_第1頁(yè)
利用ASP實(shí)現(xiàn)分布式異構(gòu)數(shù)據(jù)庫(kù)共享服務(wù)的幾點(diǎn)技術(shù)探討課件_第2頁(yè)
利用ASP實(shí)現(xiàn)分布式異構(gòu)數(shù)據(jù)庫(kù)共享服務(wù)的幾點(diǎn)技術(shù)探討課件_第3頁(yè)
利用ASP實(shí)現(xiàn)分布式異構(gòu)數(shù)據(jù)庫(kù)共享服務(wù)的幾點(diǎn)技術(shù)探討課件_第4頁(yè)
利用ASP實(shí)現(xiàn)分布式異構(gòu)數(shù)據(jù)庫(kù)共享服務(wù)的幾點(diǎn)技術(shù)探討課件_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

利用ASP實(shí)現(xiàn)分布式異構(gòu)數(shù)據(jù)庫(kù)共享服務(wù)的幾點(diǎn)技術(shù)探討

中科院寒區(qū)旱區(qū)環(huán)境與工程研究所張耀南利用ASP實(shí)現(xiàn)分布式異構(gòu)數(shù)據(jù)庫(kù)共享服務(wù)的幾點(diǎn)技術(shù)探討中科院1主要內(nèi)容問(wèn)題的提出利用ASP實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的共享訪(fǎng)問(wèn)利用COM組件共享分布式異構(gòu)數(shù)據(jù)庫(kù)利用存儲(chǔ)過(guò)程提高ASP對(duì)數(shù)據(jù)庫(kù)的共享速度利用ASP實(shí)現(xiàn)對(duì)共享服務(wù)的跟蹤主要內(nèi)容問(wèn)題的提出21.問(wèn)題的提出科學(xué)數(shù)據(jù)庫(kù)事實(shí)上是一個(gè)數(shù)據(jù)庫(kù)群體由于數(shù)據(jù)來(lái)源、格式、分類(lèi)等因素的不同,大多為分布式的異構(gòu)數(shù)據(jù)庫(kù)群。操作系統(tǒng)各異,對(duì)用戶(hù)來(lái)講,數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)復(fù)雜化?;贗nternet的B/S架構(gòu),利用ASP、COM/DCOM組件技術(shù),來(lái)實(shí)現(xiàn)分布式異構(gòu)數(shù)據(jù)庫(kù)群的共享服務(wù)和數(shù)據(jù)共享用戶(hù)的跟蹤。1.問(wèn)題的提出科學(xué)數(shù)據(jù)庫(kù)事實(shí)上是一個(gè)數(shù)據(jù)庫(kù)群體32.利用ASP實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的共享訪(fǎng)問(wèn)

在ASP中,用來(lái)存取數(shù)據(jù)庫(kù)的對(duì)象統(tǒng)稱(chēng)ADO(ActiveDataObjects)主要有ConnectionRecordsetCommand三種對(duì)象其中Connection負(fù)責(zé)打開(kāi)或連接數(shù)據(jù)庫(kù)Recordset負(fù)責(zé)存取數(shù)據(jù)表Command負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)執(zhí)行行動(dòng)查詢(xún)(ActionQuery)命令和執(zhí)行SQLServer的存儲(chǔ)過(guò)程(StoredProcedure)。

2.利用ASP實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的共享訪(fǎng)問(wèn)在ASP中,用來(lái)存取數(shù)42.利用ASP實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的共享訪(fǎng)問(wèn)但靠這三個(gè)對(duì)象還是無(wú)法存取數(shù)據(jù)庫(kù)的,還必須具有數(shù)據(jù)庫(kù)存取的驅(qū)動(dòng)程序:OLEDB和ODBC驅(qū)動(dòng)程序

ADOOLEDBJetSQLOracleJetSQLOracleODBCAccessSQLOracleAccessSQLOracleADO層OLEDB層ODBC層數(shù)據(jù)存儲(chǔ)層2.利用ASP實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的共享訪(fǎng)問(wèn)但靠這三個(gè)對(duì)象還是無(wú)法存52.利用ASP實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的共享訪(fǎng)問(wèn)首先建立一個(gè)ADODB.Connection接口的對(duì)象,接著在這一個(gè)對(duì)象上綁定相應(yīng)的數(shù)據(jù)源(可以用有名數(shù)據(jù)源和無(wú)名數(shù)據(jù)源),根據(jù)需要建立或者不建立記錄集,然后在該數(shù)據(jù)源上鏈接用執(zhí)行或打開(kāi)的方法來(lái)對(duì)相應(yīng)的表進(jìn)行操作。Asp訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的一般方法:

<SetoConn=Server.CreateObject(“ADODB.Connection”)SetoRS=Server.CreateObject(“ADODB.RecordSet”)SetstrConn="Provider=SQLOLEDB;UserID=sa;InitialCatalog=Pubs;DataSource="&request.ServerVariables("SERVER_NAME")oConn.openstrConnsetORS=oConn.execute(“select*fromtest”)>

2.利用ASP實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的共享訪(fǎng)問(wèn)首先建立一個(gè)ADODB.62.利用ASP實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的共享訪(fǎng)問(wèn)Access類(lèi)型的數(shù)據(jù)庫(kù)對(duì)象Dimconn,Provider,DBPathSetconn=Server.CreateObject("ADODB.Connection")

Provider="Provider=Microsoft.Jet.OLEDB.4.0;"DBPath="DataSource="&Server.MapPath("數(shù)據(jù)庫(kù)文件名")conn.OpenProvider&DBPathSetCreateAccessRecordset=Server.CreateObject("ADODB.Recordset")CreateAccessRecordset.Open"數(shù)據(jù)表名",conn,2,2

EndFunction

2.利用ASP實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的共享訪(fǎng)問(wèn)Access類(lèi)型的數(shù)據(jù)庫(kù)72.利用ASP實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的共享訪(fǎng)問(wèn)建立SQLServer類(lèi)型的數(shù)據(jù)庫(kù)對(duì)象DimParams,conn

SetCreatSQLServerConnection=Nothing

Setconn=Server.CreateObject(“ADODB.Connection”)

Params=“Provider=SQLOLEDB.1”

Params=Params&“;DataSource=”&Computer

Params=Params&“;UserID=”&UserID

Params=Params&“;Password=”&Password

Params=Params&“.InitialCatalog=”&數(shù)據(jù)庫(kù)名稱(chēng)ConnopenParas

SetCreateSQLServerRecordset=Server.CreateObject("ADODB.Recordset")

CreateSQLServerRecordset.Opensource,conn,2,2

EndFunction2.利用ASP實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的共享訪(fǎng)問(wèn)建立SQLServer83.利用COM共享訪(fǎng)問(wèn)分布式異構(gòu)數(shù)據(jù)庫(kù)

在OLEDB下層的ODBC并不是為分布式計(jì)算設(shè)計(jì)的,ODBC僅適用于關(guān)系數(shù)據(jù)庫(kù)。Web本身的無(wú)狀態(tài)性、以及大量訪(fǎng)問(wèn)都使得這種靠保持永久性連接是無(wú)法實(shí)現(xiàn)。COM(ComponentObjectModel)及DCOM(DistributedCOM)實(shí)現(xiàn)了跨網(wǎng)絡(luò)節(jié)點(diǎn)的對(duì)象訪(fǎng)問(wèn)能力。COM/DCOM也逐漸發(fā)展成了Windows系列操作系統(tǒng)的重要組成部分。COM是建立在OSFDCE標(biāo)準(zhǔn)的遠(yuǎn)程方法調(diào)用RPC(RemoteProcedureCall)基礎(chǔ)上的。

3.利用COM共享訪(fǎng)問(wèn)分布式異構(gòu)數(shù)據(jù)庫(kù)在OLEDB下層93.利用COM共享訪(fǎng)問(wèn)分布式異構(gòu)數(shù)據(jù)庫(kù)In-ProcessObjectClientApplicationLocalObjectProxyRemoteObjectProxyIn-ProcessServerCOMClientProcessRPCRPCLocalObjectLocalServerStubCOMLocalServerProcessRemoteObjectRemoteServerStubCOMRemoteServerProcessRemote

Machine3.利用COM共享訪(fǎng)問(wèn)分布式異構(gòu)數(shù)據(jù)庫(kù)In-ProcessO103.利用COM共享訪(fǎng)問(wèn)分布式異構(gòu)數(shù)據(jù)庫(kù)有了上述對(duì)WEB管理服務(wù)器的定義和設(shè)置,可以利用一組COM組件對(duì)象來(lái)完成通過(guò)ASP腳本對(duì)分布式異構(gòu)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)。

資源組件文本及二進(jìn)制節(jié)點(diǎn)組件數(shù)據(jù)庫(kù)節(jié)點(diǎn)文件二進(jìn)制數(shù)組件網(wǎng)絡(luò)共享目錄組件目錄收集組件文件收集組件3.利用COM共享訪(fǎng)問(wèn)分布式異構(gòu)數(shù)據(jù)庫(kù)有了上述對(duì)WEB管理服114.用存儲(chǔ)過(guò)程提高ASP對(duì)數(shù)據(jù)庫(kù)的共享速度

對(duì)一些處理過(guò)程,本身的流程較復(fù)雜,使用表格中的數(shù)據(jù)較多,而且要反復(fù)的使用表格中的數(shù)據(jù),但返回的結(jié)果卻很少,就特別適合于使用存儲(chǔ)過(guò)程。存儲(chǔ)過(guò)程被數(shù)據(jù)庫(kù)編譯產(chǎn)生一個(gè)執(zhí)行計(jì)劃,執(zhí)行速度比對(duì)應(yīng)的SQL語(yǔ)句快。存儲(chǔ)過(guò)程在數(shù)據(jù)庫(kù)服務(wù)器端執(zhí)行且使用的數(shù)據(jù)不通過(guò)網(wǎng)絡(luò)的傳輸過(guò)程,從而提高了訪(fǎng)問(wèn)速度。因此可以把某些表的訪(fǎng)問(wèn)封裝在存儲(chǔ)過(guò)程中,然后指定這些表只能被存儲(chǔ)過(guò)程訪(fǎng)問(wèn)。這樣,既可以提高數(shù)據(jù)的速度和安全性,也可以防止一些潛在的危險(xiǎn)的SQL操作。如從某結(jié)點(diǎn)n開(kāi)始找到最上層的父親結(jié)點(diǎn),這種經(jīng)常用到的過(guò)程可以由存儲(chǔ)過(guò)程來(lái)?yè)?dān)當(dāng),在網(wǎng)頁(yè)中重復(fù)使用達(dá)到共享。4.用存儲(chǔ)過(guò)程提高ASP對(duì)數(shù)據(jù)庫(kù)的共享速度對(duì)一些處理過(guò)程,125.用ASP實(shí)現(xiàn)共享服務(wù)的跟蹤

在ASP中通常使用application對(duì)象制作在線(xiàn)人員的訪(fǎng)問(wèn)情況。首先在global.asa中設(shè)置application(“user_online”)(以下簡(jiǎn)稱(chēng)auo),格式為:

用戶(hù)姓名0~用戶(hù)名0~上線(xiàn)時(shí)間0~最后刷新時(shí)間0~登錄IP地址0,

用戶(hù)姓名1~用戶(hù)名1~上線(xiàn)時(shí)間1~最后刷新時(shí)間1~登錄IP地址1......

①將頁(yè)面分隔為兩幀(左右、上下均可以),其中一幀的高度(或?qū)挾?,如果是左右兩幀的?huà))為零。②在該隱藏幀中放置一能夠自刷新的頁(yè)面(通過(guò)setTimeout函數(shù)來(lái)reload頁(yè)面)。③在該頁(yè)面的刷新過(guò)程中更新并檢測(cè)用戶(hù)相關(guān)信息:

5.用ASP實(shí)現(xiàn)共享服務(wù)的跟蹤在ASP中通常使用appli135.用ASP實(shí)現(xiàn)共享服務(wù)的跟蹤·如果該用戶(hù)的用戶(hù)名不在(instr(auo,"~"&用戶(hù)名&"~")<0)auo中那么將該用戶(hù)的信息整理后(設(shè)置用戶(hù)姓名、用戶(hù)名、登陸IP為用戶(hù)信息,設(shè)置登陸時(shí)間和最后刷新時(shí)間為當(dāng)前時(shí)間)添加到auo的最后(字符串與操作)?!と绻撚脩?hù)的用戶(hù)名已經(jīng)存在于auo中,那么更新該用戶(hù)的最后刷新時(shí)間為當(dāng)前時(shí)間?!び?jì)算每個(gè)用戶(hù)的登陸時(shí)間與最后刷新時(shí)間之間的時(shí)間差,如果大于設(shè)定值(如:7秒)則表明該用戶(hù)已經(jīng)下線(xiàn),則可以從auo中將該用戶(hù)刪除。通過(guò)上述思路實(shí)現(xiàn)了在線(xiàn)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)人員的數(shù)量統(tǒng)計(jì)、在線(xiàn)人員的名稱(chēng)顯示、在線(xiàn)人員的停留時(shí)間顯示并按照停留時(shí)間排序、禁止同一賬號(hào)同時(shí)在不同的機(jī)器(IP地址)上登錄、在線(xiàn)短信息的發(fā)送(增加檢索是否與該用戶(hù)想匹配的信息的程序段即可)。

5.用ASP實(shí)現(xiàn)共享服務(wù)的跟蹤·如果該用戶(hù)的用戶(hù)名不在(in14小結(jié)ASP作為一種微軟(Microsoft公司)基于WEB的編程腳本,在INTERNET環(huán)境下有著廣泛的應(yīng)用,特別與面向?qū)ο?/p>

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論