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

首頁 > 學院 > 開發設計 > 正文

在VB6.0中使ACCESS數據庫在網絡使用中保持同步

2019-11-18 17:35:41
字體:
來源:轉載
供稿:網友
同步(Synchronization)是數據庫在網絡環境中應用所要涉及到的一個重要概念。其基本過程大致分以下幾個步驟:首先把一個數據庫設為可復制副本屬性,使其成為設計正本(VB中稱設計原版,access中稱設計母版);然后根據應用程序的實現需要從設計正本復制出多個副本(VB中稱復本),這些副本組成一個副本集合(設計正本也被看做是第一個的、初始的副本);最后在集中任何復本的數據或結構被更改會時啟用同步機制把改變發送并且應用于此復本集中的其他成員,使得副本集中的成員在數據或結構上保持一致性。實現同步的這一過程被稱為同步化。VB6.0為實現同步,在數據庫對象中提供了多個屬性與方法來實現這一過程,以下介紹主要的幾個屬性與方法,分別對應同步化的幾個步驟:

----1.Replicable屬性:

----Replicable屬性用來使一個數據庫對象或數據庫中的表對象、查詢對象等對象成為可復制副本的,即成為設計正本。但數據庫對象并不提供Replicable這一屬性,因此首先要用CreateDimprpNewasproperty
SetdbNwind=OpenDatabase("Nwind.mdb",True)
WithdbNwind
'建立Replicable屬性,
如果已經存在該屬性則程序略過這一步
OnErrorResumeNext
SetprpNew=.CreateProperty
("Replicable",dbText,"T")
.Properties.AppendprpNew
'設置數據庫的Replicable屬性為True
.Properties("Replicable")="T"
.Close
EndWith
EndSub

----2.MakeReplica方法:

----MakeReplica方法從設計正本復制出一個新的完全副本。其語法為:database.MakeReplicareplica,description,options,其中replica是代表一個新副本路徑名稱的字符串;description是對正在創建的新副本的一個描述字符串;options是一個可選項,可以是dbRepMakePartial常量(創建一個部分副本)或dbRepMakeReadOnly常量(防止用戶修改新副本中的可復制對象),如果要建立的是一個只讀式的部分副本,則要加入參數常量dbRepMakeReadOnly dbRepMakePartial。

----在第一個例子中,在關閉數據庫之前加入代碼:.MakeReplica"NwReplica","replicaofnwind.mdb",則從Nwind.mdb設計正本復制出一個名為NwReplica.mdb的副本,位置在Nwind.mdb同一目錄中。以下是一個通過傳遞參數的形式,在實際應用中可供靈活調用的函數,每調用該函數一次即可實現新建一個副本:

FunctionMakeAdditionalReplica(strReplicableDBAs
String,strNewReplicaAsString,intOptionsAs
Integer)AsInteger
DimdbsTempAsDatabase
OnErrorGoToErrorHandler
SetdbsTemp=OpenDatabase(strReplicableDB)
'如果在調用此函數時,intOptions處末給出參數,
則忽略該參數項,默認建立一個完全
'的、可讀/寫的副本,否則就利用提供的參數按要求建立副本
IfintOptions=0Then
dbsTemp.MakeReplicastrNewReplica,
"Replicaof"&strReplicableDB
Else
dbsTemp.MakeReplicastrNewReplica,
"Replicaof"&strReplicableDB,intOptions
EndIf
dbsTemp.Close
ErrorHandler:
SelectCaseErr
Case0:
MakeAdditionalReplica=0
ExitFunction
CaseElse:
MsgBox"Error"&Err&":"&Error
MakeAdditionalReplica=Err
ExitFunction
EndSelect
EndFunction

----3.Synchronize方法:

----Synchronize方法使兩個完全副本(包括設計正本)同步化。其語法為:database.Synchronizepathname,exchange。其中pathname為要同步的目標副本的路徑名稱字符串(串中的.mdb擴展名可省略);exchange用來標識兩個數據庫之間的同步方向(如表一),這是一個可選項,默認為表中的第三個選項,即雙向交換。利用表中第四個dbRepSyncInternet常量選項,還可對通過Internet互聯的數據庫進行同步化,這時要將代表本地網絡路徑選項pathname用URL地址來代替。

常量同步化方向
DbRepExportChanges從數據庫到副本路徑名稱
DbRepImportChanges從副本路徑名稱到數據庫
DbRepImpExpChanges雙向交換改變(默認)
DbRepSyncInternet在通過Internet路徑連接的數據庫之間傳遞改變

----表一、同步化方向常量

----在同步化操作之前,要確保已經利用Replicable屬性使一個數據庫初始出設計正本,并且利用MakeReplica方法復制出了一個以上的副本。

----以下通過在第一個例子添加的副本復制語句之后,加入如下語句:.Synchronize"NwReplica.mdb",dbRepExportChanges,實現把數據庫Nwind的設計正本的任何改變傳遞給副本NwReplica。我們可以在Nwind.mdb庫中改變一些數據內容,然后再運行這一例子,我們會發現Nwind.mdb庫的改變已經反映在NwReplica.mdb這一副本中了。

----以上語句實現從數據庫到副本路徑名稱的同步(把設計正本的數據或結構改變傳遞給副本),把dbRepExportChanges常量改為dbRepImportChanges和dbRepImpExpChanges可分別實現從副本路徑名稱到數據庫(數據庫接收副本上的改變)以及雙向交換(兩者間的雙向數據傳遞)同步。

----Synchronize方法還可對通過Internet互聯的數據庫進行同步化,以下語句實現本地數據庫正本與位于Internet服務器上的一個副本同步化:

dbNwind.Synchronize
"www.mycompany.myserver.com"
&"/files/NwReplica.mdb",_
dbRepImpExpChanges dbRepSyncInternet

----4.PopulatePartial方法:

----上面介紹利用Synchronize方法使兩個完全副本同步化,不會出現問題,但如果用一個完全副本來同步一個部分副本,因為部分副本是由副本過濾器來從完全副本來過濾重新生成的,因此可能在部分副本中產生所謂的“孤立”記錄,即這些記錄不能再與其他副本保持同步。要解決這一問題引入了另一個稱為PopulatePartial的方法,該方法與Synchronize方法類似,只不過它是實現部分副本與完全副本的同步,在同步時,首先清除部分副本中的所有記錄,然后根據當前副本的過濾器來重新生成部分副本,這樣就解決了“孤立”記錄的問題。其語法為:database.PopulatePartialdbname。Dbname是完全副本的路徑名稱。由于篇幅所限以及其與Synchronize方法的相似性,因此在此不再累述,更詳細的描述請參閱相關的聯機幫助。

->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲国产一区二区三区 | 久久精品亚洲国产奇米99 | 欧美性猛交xxxxx按摩国内 | 91久久国产综合精品女同国语 | 国产精品久久久久久婷婷天堂 | 免费观看视频在线观看 | 欧美日韩1区2区 | 精品一区二区三区中文字幕老牛 | 黄色免费大片 | 国产亚洲美女精品久久久2020 | xvideos korean| 欧美在线 | 亚洲 | 国产精品成人一区二区三区吃奶 | 爱性久久久久久久 | 蜜桃免费在线 | 欧美乱论 | 久久经典国产视频 | 在线中文字幕不卡 | 万圣街在线观看免费完整版 | 精品爱爱 | 日韩黄色片在线观看 | 91在线色| 欧美成人小视频 | 91精品国产91久久久 | 日韩精品中文字幕一区 | 久久精品综合视频 | 国内精品久久久久久影视8 嫩草影院在线观看网站成人 | 色诱亚洲精品久久久久久 | bt 自拍 另类 综合 欧美 | 91成人免费 | 国产成人高潮免费观看精品 | 成人资源在线 | chinesexxx少妇露脸 | 亚洲人成在线播放网站 | 92看片淫黄大片欧美看国产片 | 看av网址 | 黄色一级片免费观看 | 欧美xxxx精品另类 | 欧美视频一区二区 | 日韩视频精品一区 | av懂色|