亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Access > 正文

使ACCESS數據庫保持同步

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

1.replicable屬性:

  replicable屬性用來使一個數據庫對象或數據庫中的表對象、查詢對象等對象成為可復制副本的,即成為設計正本。但數據庫對象并不提供replicable這一屬性,因此首先要用createpropety方法來創建它,然后把它添加到對象的屬性集中,最后再給它賦值,使數據庫成為設計正本。對于數據庫對象而言,把replicable屬性設置為“t”將使數據庫對象成為可復制的。以下代碼將使vb6.0安裝目錄下附帶的nwind.mdb數據庫成為一個設計正本(為確保安全建議在操作前備份這一庫文件):

private sub command1_click()
dim dbnwind as database
'如果末引用dao則一定要先引用
dim prpnew as property
set dbnwind = opendatabase("nwind.mdb", true)
with dbnwind
 '建立replicable屬性,如果已經存在該屬性則程序略過這一步
 on error resume next
 set prpnew = .createproperty("replicable", dbtext, "t")
 .properties.append prpnew
 '設置數據庫的replicable屬性為true
 .properties("replicable") = "t"
 .close
end with
end sub

2.makereplica方法:

  makereplica方法從設計正本復制出一個新的完全副本。其語法為:database.makereplica replica, description, options,其中replica是代表一個新副本路徑名稱的字符串;description是對正在創建的新副本的一個描述字符串;options是一個可選項,可以是dbrepmakepartial常量(創建一個部分副本)或dbrepmakereadonly常量(防止用戶修改新副本中的可復制對象),如果要建立的是一個只讀式的部分副本,則要加入參數常量 dbrepmakereadonly + dbrepmakepartial 。
  在第一個例子中,在關閉數據庫之前加入代碼:.makereplica "nwreplica", "replica of nwind.mdb",則從nwind.mdb設計正本復制出一個名為nwreplica.mdb的副本,位置在nwind.mdb同一目錄中。以下是一個通過傳遞參數的形式,在實際應用中可供靈活調用的函數,每調用該函數一次即可實現新建一個副本:

function makeadditionalreplica(strreplicabledb as string, strnewreplica as string, intoptions as integer) as integer
dim dbstemp as database
on error goto errorhandler
set dbstemp = opendatabase(strreplicabledb)
' 如果在調用此函數時,intoptions處末給出參數, 則忽略該參數項,
'默認建立一個完全的、可讀/寫的副本,否則就利用提供的參數按要求建立副本
if intoptions = 0 then
 dbstemp.makereplica strnewreplica, "replica of " & strreplicabledb
else
 dbstemp.makereplica strnewreplica, "replica of " & strreplicabledb, intoptions
end if
dbstemp.close
errorhandler:
select case err
 case 0:
  makeadditionalreplica = 0
  exit function
 case else:
  msgbox "error " & err & " : " & error
  makeadditionalreplica = err
 exit function
end select
end function

3.synchronize方法:

  synchronize方法使兩個完全副本(包括設計正本)同步化。其語法為:database.synchronize pathname, 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.populatepartial dbname。dbname是完全副本的路徑名稱。由于篇幅所限以及其與synchronize方法的相似性,因此在此不再累述,更詳細的描述請參閱相關的聯機幫助
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人福利夜色影视| 国产成人一区二区三区小说| 国产成人精品视频在线观看| 国产精品成人av在线| 亚洲人a成www在线影院| 中文字幕日韩av综合精品| 日韩av电影免费观看高清| 久久久久亚洲精品| 亚洲精品久久在线| 91天堂在线观看| 成人欧美一区二区三区在线湿哒哒| 成人乱人伦精品视频在线观看| 97色在线播放视频| 久久香蕉国产线看观看av| 91精品久久久久久久久不口人| 91精品国产91久久久久久最新| 成人信息集中地欧美| 亚洲人成77777在线观看网| 国产综合在线视频| 一本大道亚洲视频| 尤物九九久久国产精品的特点| 久久久久日韩精品久久久男男| 欧洲成人在线观看| 尤物yw午夜国产精品视频明星| 国产精品xxx视频| 欧美性猛交xxxx| 神马国产精品影院av| 亚洲国产欧美一区二区丝袜黑人| 国产精品久久国产精品99gif| 亚洲精品美女久久| 国产成人综合亚洲| 国产精品xxx视频| 欧美理论电影在线播放| 亚洲欧美日韩一区二区在线| 日韩大片免费观看视频播放| 欧洲精品久久久| 亚洲国产成人精品女人久久久| 欧美性极品xxxx娇小| 91精品中文在线| 国产精品色午夜在线观看| 欧美精品videofree1080p| 久久国产天堂福利天堂| 免费av在线一区| 91国内精品久久| 一区二区三区美女xx视频| 91亚洲精品久久久| 亚洲天堂影视av| 欧美不卡视频一区发布| 福利二区91精品bt7086| 国产在线拍揄自揄视频不卡99| 欧美多人爱爱视频网站| 欧美视频在线观看 亚洲欧| 秋霞午夜一区二区| 日韩成人激情在线| 欧美日韩国产成人在线观看| 国产精品永久免费视频| 51ⅴ精品国产91久久久久久| 免费av在线一区| 久久伊人精品天天| 欧美性生交大片免费| 亚洲性69xxxbbb| 久久99精品久久久久久青青91| 69精品小视频| 国产精品久久久久久网站| 国产伦精品免费视频| 亚洲日本中文字幕| 日韩高清免费观看| 亚洲精品国产综合久久| 亚洲欧美日韩天堂一区二区| 国产精品女人久久久久久| 日韩高清电影免费观看完整| 久久久免费电影| 日本中文字幕不卡免费| 国产精品视频一区二区高潮| 大胆人体色综合| 蜜臀久久99精品久久久无需会员| 日韩精品一二三四区| 91av在线视频观看| 日韩有码视频在线| 91国产美女在线观看| 欧洲成人性视频| 亚洲天堂成人在线视频| 久久青草福利网站| 亚洲精品免费在线视频| 国产成人综合精品在线| 欧美肥臀大乳一区二区免费视频| 国产精品高潮粉嫩av| 国产精品日韩在线播放| 中文字幕在线日韩| 一本色道久久综合狠狠躁篇的优点| 精品久久久久久久大神国产| 精品久久久久久久久久久久久久| 在线观看国产成人av片| 午夜精品蜜臀一区二区三区免费| 国产精品久久久久久久久影视| 欧美国产日韩中文字幕在线| 91老司机在线| 日韩av片免费在线观看| 欧美日韩国产成人在线| 欧美老妇交乱视频| 成人h猎奇视频网站| 国产亚洲美女久久| 亚洲成人黄色网址| 欧美精品videos另类日本| 欧美日韩性视频| 日韩av在线看| 国内精品视频在线| 亚洲国产精品久久久久秋霞不卡| 日韩黄色av网站| 国产一区二区丝袜高跟鞋图片| 国产人妖伪娘一区91| 国产免费成人av| 国产精品一区二区久久国产| 中文字幕日韩在线观看| 中文字幕av日韩| 26uuu日韩精品一区二区| 亚洲r级在线观看| 午夜精品国产精品大乳美女| 亚洲a一级视频| 97精品视频在线观看| 国产一区二区三区三区在线观看| 亚洲精品国产精品国产自| www.欧美三级电影.com| 国产精品黄色影片导航在线观看| 精品香蕉一区二区三区| 久久视频在线视频| 亚洲国产日韩一区| 日本亚洲精品在线观看| 国产美女91呻吟求| 日韩有码在线电影| 欧美猛交免费看| 一区二区三区美女xx视频| 国产精品女人网站| 国产成人自拍视频在线观看| 久久香蕉频线观| 国产欧美最新羞羞视频在线观看| 亚洲一区二区自拍| 国产视频精品久久久| 欧美大片大片在线播放| 69久久夜色精品国产69乱青草| 国产伦精品免费视频| 国产精品国语对白| 少妇高潮久久久久久潘金莲| 国产不卡在线观看| 欧美高清激情视频| 精品国产一区二区在线| 亚洲精品久久久久| 欧美综合一区第一页| 欧美亚洲国产视频| 最近2019中文字幕第三页视频| 一本色道久久综合狠狠躁篇怎么玩| 性欧美激情精品| 91网在线免费观看| 欧美中文字幕精品| 欧美高清不卡在线| 91精品久久久久久久久不口人| 亚洲一区二区三区久久| 91精品国产综合久久香蕉的用户体验| 亚洲电影免费在线观看| 亚洲精品久久久久久久久| 国产成人精品a视频一区www| 日韩免费电影在线观看| 成人a免费视频| 亚洲成人av在线播放|