



下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、怎樣使ACCES數(shù)據(jù)庫(kù)保持同步同步(Synchronization )是數(shù)據(jù)庫(kù)在網(wǎng)絡(luò)環(huán)境中應(yīng)用所要涉及到的一個(gè)重要概念。其基本 過(guò)程大致分以下幾個(gè)步驟:首先把一個(gè)數(shù)據(jù)庫(kù)設(shè)為可復(fù)制副本屬性,使其成為設(shè)計(jì)正本(VB中稱(chēng)設(shè)計(jì)原版,ACCESS稱(chēng)設(shè)計(jì)母版);然后根據(jù)應(yīng)用程序的實(shí)現(xiàn)需要從設(shè)計(jì)正本復(fù)制出 多個(gè)副本(VB中稱(chēng)復(fù)本),這些副本組成一個(gè)副本集合(設(shè)計(jì)正本也被看做是第一個(gè)的、 初始的副本);最后在集中任何復(fù)本的數(shù)據(jù)或結(jié)構(gòu)被更改會(huì)時(shí)啟用同步機(jī)制把改變發(fā)送并且 應(yīng)用于此復(fù)本集中的其他成員,使得副本集中的成員在數(shù)據(jù)或結(jié)構(gòu)上保持一致性。實(shí)現(xiàn)同步的這一過(guò)程被稱(chēng)為同步化。VB6.0為實(shí)現(xiàn)同步,在數(shù)據(jù)庫(kù)對(duì)象中提
2、供了多個(gè)屬性與方法來(lái)實(shí) 現(xiàn)這一過(guò)程,以下介紹主要的幾個(gè)屬性與方法,分別對(duì)應(yīng)同步化的幾個(gè)步驟:1. Replicable 屬性:Replicable屬性用來(lái)使一個(gè)數(shù)據(jù)庫(kù)對(duì)象或數(shù)據(jù)庫(kù)中的表對(duì)象、查詢(xún)對(duì)象等對(duì)象成為可復(fù)制副本的,即成為設(shè)計(jì)正本。但數(shù)據(jù)庫(kù)對(duì)象并不提供Replicable 這一屬性,因此首先要用CreatePropety 方法來(lái)創(chuàng)建它,然后把它添加到對(duì)象的屬性集中,最后再給它賦值,使數(shù)據(jù)庫(kù)成為設(shè)計(jì)正本。 對(duì)于數(shù)據(jù)庫(kù)對(duì)象而言,把Replicable 屬性設(shè)置為“ T”將使數(shù)據(jù)庫(kù)對(duì)象成為可復(fù)制的。以下代碼將使VB6.0安裝目錄下附帶的 Nwind.mdb數(shù)據(jù)庫(kù)成為一個(gè)設(shè)計(jì)正本(為確保安全建議
3、在操作前備份這一庫(kù)文件):Private Sub Comma nd1_Click()Dim dbNwi nd As Database'如果末引用DAO則一定要先引用Dim prpNew As PropertySet dbNwi nd = Ope nDatabase("Nwi nd.mdb". True)With dbNwi nd'建立Replicable 屬性,如果已經(jīng)存在該屬性則程序略過(guò)這一步On Error Resume NextSet prpNew = .CreateProperty("Replicable", dbText, &q
4、uot;T").Properties.Appe ndprpNew'設(shè)置數(shù)據(jù)庫(kù)的Replicable 屬性為T(mén)rue .Properties("Replicable") = "T".CloseEnd WithEnd Sub2. MakeReplica 方法:MakeReplica方法從設(shè)計(jì)正本復(fù)制出一個(gè)新的完全副本。其語(yǔ)法為:database.MakeReplica replica,description,options ,其中 replica 是代表一個(gè)新副本路徑名稱(chēng)的字符串;description 是對(duì)正在創(chuàng)建的新副本的一個(gè)描述字符串
5、;options是一個(gè)可選項(xiàng),可以是 dbRepMakePartial常量(創(chuàng)建一個(gè)部分副本)或 dbRepMakeReadO nly常 量(防止用戶(hù)修改新副本中的可復(fù)制對(duì)象),如果要建立的是一個(gè)只讀式的部分副本,則要加入?yún)?shù)常量 dbRepMakeReadO nly + dbRepMakePartial 。在第一個(gè)例子中,在關(guān)閉數(shù)據(jù)庫(kù)之前加入代碼:.MakeReplica "NwReplica", "replicaof nwind.mdb",則從Nwind.mdb設(shè)計(jì)正本復(fù)制出一個(gè)名為 NwReplica.mdb的副本,位置在 Nwind.mdb同一目
6、錄中。以下是一個(gè)通過(guò)傳遞參數(shù)的形式,在實(shí)際應(yīng)用中可供靈活調(diào)用的函數(shù),每調(diào)用該函數(shù)一次即可實(shí)現(xiàn)新建一個(gè)副本:Fun ction MakeAdditio nalReplica(strReplicableDBAs Stri ng, strNewReplica As Stri ng,in tOptio ns As In teger) As In tegerDim dbsTemp As DatabaseOn Error GoToErrorHa ndlerSet dbsTemp = Open Database(strReplicableDB)'如果在調(diào)用此函數(shù)時(shí),intOptions 處末給出參數(shù)
7、,則忽略該參數(shù)項(xiàng),'默認(rèn)建立一個(gè)完全的、可讀 /寫(xiě)的副本,否則就利用提供的參數(shù)按要求建立副本If in tOpti ons = 0 The ndbsTemp.MakeReplicastrNewReplica, "Replica of " & strReplicableDBElsedbsTemp.MakeReplicastrNewReplica, "Replica of " & strReplicableDB, i ntOpti onsEnd IfdbsTemp.CloseErrorHa ndler:Select Case ErrC
8、ase 0:MakeAdditi on alReplica = 0Exit FunctionCase Else:MsgBox "Error " & Err & ” : " & ErrorMakeAdditio nalReplica = ErrExit FunctionEnd SelectEnd Function3. Synchronize 方法:Synchronize方法使兩個(gè)完全副本(包括設(shè)計(jì)正本)同步化。其語(yǔ)法為:database.S ynchronizepath name, excha nge。其中 path name 為要同步的目標(biāo)
9、副本的路徑名稱(chēng)字符串(串中的.mdb擴(kuò)展名可省略);exchange用來(lái)標(biāo)識(shí)兩個(gè)數(shù)據(jù)庫(kù)之間的同步方向(如表一),這是一個(gè)可選項(xiàng),默認(rèn)為表中的第三個(gè)選項(xiàng),即雙向交換。利用表中第四個(gè)dbRepSy ncln ternet常量選項(xiàng),還可對(duì)通過(guò)In ternet 互聯(lián)的數(shù)據(jù)庫(kù)進(jìn)行同步化,這時(shí)要將代表本地網(wǎng)絡(luò)路徑選項(xiàng)path name用URL地址來(lái)代替。表一、同步化方向常量常量同步化方向DbRepExportCha nges從數(shù)據(jù)庫(kù)到副本路徑名稱(chēng)DbRepImportCha nges從副本路徑名稱(chēng)到數(shù)據(jù)庫(kù)DbRepImpExpCha nges雙向交換改變(默認(rèn))DbRepSy ncln ternet在通
10、過(guò)In ternet路徑連接的數(shù)據(jù)庫(kù)之間傳遞改變?cè)谕交僮髦?,要確保已經(jīng)利用Replicable屬性使一個(gè)數(shù)據(jù)庫(kù)初始出設(shè)計(jì)正本,并且利用MakeReplica方法復(fù)制出了一個(gè)以上的副本。以下通過(guò)在第一個(gè)例子添加的副本復(fù)制語(yǔ)句之后,加入如下語(yǔ)句:.Syn chro nize"NwReplica.mdb", dbRepExportChanges,實(shí)現(xiàn)把數(shù)據(jù)庫(kù) Nwind的設(shè)計(jì)正本的任何改變傳遞給副本NwReplica。我們可以在 Nwind.mdb庫(kù)中改變一些數(shù)據(jù)內(nèi)容,然后再運(yùn)行這一例子, 我們會(huì)發(fā)現(xiàn)Nwind.mdb庫(kù)的改變已經(jīng)反映在 NwReplica.mdb這一副本中
11、了。以上語(yǔ)句實(shí)現(xiàn)從數(shù)據(jù)庫(kù)到副本路徑名稱(chēng)的同步(把設(shè)計(jì)正本的數(shù)據(jù)或結(jié)構(gòu)改變傳遞給副本),把 dbRepExportChanges 常量改為 dbRepImportChanges 和 dbRepImpExpChanges可分 別實(shí)現(xiàn)從副本路徑名稱(chēng)到數(shù)據(jù)庫(kù)(數(shù)據(jù)庫(kù)接收副本上的改變)以及雙向交換(兩者間的雙向數(shù)據(jù)傳遞)同步。Syn chro nize方法還可對(duì)通過(guò)In ternet 互聯(lián)的數(shù)據(jù)庫(kù)進(jìn)行同步化,以下語(yǔ)句實(shí)現(xiàn)本地 數(shù)據(jù)庫(kù)正本與位于In ternet 服務(wù)器上的一個(gè)副本同步化:dbNwi nd.Sy nchronize"www.mycompa ny. " & "/files/NwReplica.mdb", dbRepImpExpCha nges + dbRepS ynclnternet4. PopulatePartial 方法:上面介紹利用Synchronize方法使兩個(gè)完全副本同步化,不會(huì)出現(xiàn)問(wèn)題,但如果用一個(gè) 完全副本來(lái)同步一個(gè)部分副本,因?yàn)椴糠指北臼怯筛北具^(guò)濾器來(lái)從完全副本來(lái)過(guò)濾重新生成 的,因此可能在部分副本中產(chǎn)生所謂的“孤立”記錄,即這些記錄不能再與其他副本保持同 步。要解決這一問(wèn)題引入了另一個(gè)稱(chēng)為PopulatePartial的方法,該方法與 Sy nchronize方法類(lèi)似,只不過(guò)它是實(shí)現(xiàn)部分
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 護(hù)理院與月嫂公司服務(wù)合同
- 窗簾工裝合同范本
- 5《應(yīng)對(duì)自然災(zāi)害》(教學(xué)設(shè)計(jì))-2023-2024學(xué)年統(tǒng)編版道德與法治六年級(jí)下冊(cè)
- 家長(zhǎng)會(huì)上的演講稿
- 上高租房合同范本
- Module 1 How to learn English Unit 2 You should smile at her!教學(xué)設(shè)計(jì)-2024-2025學(xué)年外研版英語(yǔ)八年級(jí)上冊(cè)
- 海區(qū)轉(zhuǎn)租合同范本
- 合同范本模板介紹
- 6 我參與 我奉獻(xiàn) 教學(xué)設(shè)計(jì)-2023-2024學(xué)年道德與法治五年級(jí)下冊(cè)統(tǒng)編版
- 10清新空氣是個(gè)寶(教學(xué)設(shè)計(jì))-部編版(五四制)道德與法治二年級(jí)下冊(cè)
- 精神科病人跌倒的預(yù)防與處理
- 蒸壓加氣混凝土砌塊干燥收縮檢測(cè)記錄11969-2020
- 2023-2024學(xué)年第二學(xué)期人教版英語(yǔ)五年級(jí)教學(xué)計(jì)劃(含進(jìn)度表)
- 小學(xué)教師師德師風(fēng)培訓(xùn)內(nèi)容(4篇)
- (完整word版)勞動(dòng)合同書(shū)(電子版)正規(guī)范本(通用版)
- DB1522-T 1-2023 農(nóng)用天氣預(yù)報(bào) 水稻適宜度
- OptiStruct及HyperStudy優(yōu)化與工程應(yīng)用
- 科目一3小時(shí)速成璇姐筆記
- Neo4j中文使用手冊(cè)以及例子
- 一例慢性阻塞性肺疾病個(gè)案護(hù)理
- 高中化學(xué)奧賽培訓(xùn)計(jì)劃
評(píng)論
0/150
提交評(píng)論