下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

如何使ACCESS数据库保持同步

作者:课课家教育     来源: http://www.kokojia.com点击数:2091发布时间: 2016-10-28 08:00:15

标签: access基础access认证access数据库

  我们知道,同步是数据库在网络环境中要涉及到的重要概念。今天就由小编来与大家一起探讨以下关于Access当中如何可以让ACCESS数据库保持同步。同步的基本过程如下。

  首先把数据库设置成为可复制副本属性,让它成为设计正本(注意:设计正本在VB中称设计原版,ACCESS中称设计母版)。再根据应用程序的需要从设计正本当中复制多个副本(注意:VB中称为复本),然后把副本组成副本集合(注意:设计正本也被看做是第一个、初始的副本)。最后,在数据或者是结构被更改时启用同步机制把改变发送,并应用在1这个复本集中的其他成员,让副本集中的成员在数据或者是结构上保持一相同。实现同步的过程称为同步化。VB6.0为了实现同步,就在数据库中提供多个属性以及方法实现这个过程。以下为主要的属性以及方法,以及它们对应同步化的步骤:

  (一)Replicable属性

  Replicable属性是让数据库对象或者是数据库中的表对象、查询对象等等对象成为可复制副本的,就是说设计正本。但是,数据库对象不会提供Replicable属性,所以要用CreatePropety方法创建,再把它添加为对象的属性集,最后赋值给它,让数据库变成设计正本。而数据库对象把Replicable属性设置成为“T”会令数据库对象成为可以复制的。下图代码会令VB6.0的安装目录附带的Nwind.mdb数据库变成设计正本(注意:为了保证安全建议在操作之前备份库文件):

如何使ACCESS数据库保持同步_access基础_access认证_access数据库_课课家

  (二)Make Replica方法

  Make Replica方法指的是从设计正本中复制出新的完全副本。它的语法为:database.MakeReplicareplica,description,options,其中replica表示新副本路径名称的字符串;description表示正创建的新副本的描述字符串;options表示可选项,可以是dbRepMakePartial常量(注意:创建部分副本)或者是dbRepMakeReadOnly常量(注意:预防用户修改新副本中的可复制对象),要是想要建立只读式的部分副本,就需要加入参数常量dbRepMakeReadOnly+dbRepMakePartial。

  上例,在关闭数据库之前加入代码:.Make Replica"NwReplica","replicaofnwind.mdb",从Nwind.mdb设计正本复制出位置在Nwind.mdb同一目录中的NwReplica.mdb副本。以下为通过传递参数的形式,实际应用中能灵活调用的函数,调用该函数就能实现新建副本:

Make Replica方法

  要是调用此函数时,intOptions没处末给出参数,就忽略这个参数项,

  默认建立完全的、可读以及可写的副本,不然就利用提供的参数按要求建立副本

Make Replica方法

  (三)Synchronize方法

  Synchronize方法会令两个完全副本,包括设计正本同步化。它的语法为:database.Synchronizepathname,exchange。其中pathname是需要同步的目标副本的路径名称字符串(注意:串中的.mdb扩展名能够省略);exchange是用来标识数据库之间的同步方向,这为可选项,默认为表中的第三个选项,就是说双向交换。用表中第四个dbRepSyncInterNET常量选项,还能够通过Internet互联的数据库进行同步化,就要把代表本地网络路径选项pathname用URL地址来代替。

  如下表:同步化方向常量

同步化方向常量

  同步化操作以前,需要确保利用Replicable属性令数据库初始出设计正本,然后利用MakeReplica方法复制出一个以上的副本。

  以下通过上例添加的副本复制语句后,如下:.Synchronize"NwReplica.mdb",dbRepExportChanges,就能实现把数据库Nwind的设计正本的改变传递给副本NwReplica。能在Nwind.mdb库中改变数据内容,再运行该例,就会发现在NwReplica.mdb这一副本中反映了Nwind.mdb库的改变。

  以上语句实现了从数据库到副本路径名称的同步(注意:就是说把设计正本的数据或结构改变传递给副本),把dbRepExportChanges常量改为dbRepImportChanges以及dbRepImpExpChanges能够分别实现从副本路径名称到数据库(注意:数据库接收副本改变)以及双向交换(注意:两者的双向数据传递)的同步。

  Synchronize方法还能通过Internet互联的数据库来完成同步化,下面的语句实现本地数据库正本与位于Internet服务器上的副本同步化:dbNwind.Synchronize"www.mycompany.myserver.com"&"/files/NwReplica.mdb",dbRepImpExpChanges+dbRepSyncInternet

  (四)Populate Partial方法

  以上是介绍利用Synchronize令两个完全副本同步化,不会出现问题,要是用完全副本同步部分副本,由于部分副本由副本过滤器从完全副本进行过滤重新生成,所以会在部分副本中产生所谓的“孤立”记录,就是说该记录不可以再与其他副本保持同步。就需要引入称为Populate Partial的方法来解决该问题,该方法与Synchronize方法相似,不过能实现部分副本与完全副本的同步。同步时,要先清除部分副本的所有记录,再根据当前副本过滤器重新生成部分副本,就解决了“孤立”记录的问题。它的语法为:database.PopulatePartialdbname。而dbname是完全副本的路径名称。

  注意:它与Synchronize方法的相似性。

  总结:实现同步的过程也被称为同步化。我们都知道了,VB6.0为了实现同步在数据库对象中提供多个属性与方法来实现该过程,以上就是关于主要的几个属性与方法以及分别对应同步化的几个步骤。要是想要了解更多关于access的内容,可以关注我们网站:课课家教育。

赞(24)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程