知识大全 使ACCESS数据库保持同步

Posted 数据库

篇首语:大鹏一日同风起,扶摇直上九万里。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 使ACCESS数据库保持同步相关的知识,希望对你有一定的参考价值。

使ACCESS数据库保持同步  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

    同步(Synchronization)是数据库在网络环境中应用所要涉及到的一个重要概念 其基本过程大致分以下几个步骤 首先把一个数据库设为可复制副本属性 使其成为设计正本(VB中称设计原版 ACCESS中称设计母版) 然后根据应用程序的实现需要从设计正本复制出多个副本(VB中称复本) 这些副本组成一个副本集合(设计正本也被看做是第一个的 初始的副本) 最后在集中任何复本的数据或结构被更改会时启用同步机制把改变发送并且应用于此复本集中的其他成员 使得副本集中的成员在数据或结构上保持一致性 实现同步的这一过程被称为同步化 VB 为实现同步 在数据库对象中提供了多个属性与方法来实现这一过程 以下介绍主要的几个属性与方法 分别对应同步化的几个步骤

    .Replicable属性

  Replicable属性用来使一个数据库对象或数据库中的表对象 查询对象等对象成为可复制副本的 即成为设计正本 但数据库对象并不提供Replicable这一属性 因此首先要用CreatePropety方法来创建它 然后把它添加到对象的属性集中 最后再给它赋值 使数据库成为设计正本 对于数据库对象而言 把Replicable属性设置为 T 将使数据库对象成为可复制的 以下代码将使VB 安装目录下附带的Nwind mdb数据库成为一个设计正本(为确保安全建议在操作前备份这一库文件)   Private Sub Command _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

   .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 = Then   dbsTemp MakeReplica strNewReplica Replica of & strReplicableDB   Else    dbsTemp MakeReplica strNewReplica Replica of & strReplicableDB   intOptions   End If   dbsTemp Close   ErrorHandler:   Select Case Err   Case :   MakeAdditionalReplica =   Exit Function   Case Else:   MsgBox Error & Err & : & Error   MakeAdditionalReplica = Err   Exit Function   End Select   End Function

   .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  mypany myserver & /files/NwReplica mdb dbRepImpExpChanges  + dbRepSyncInternet

   .PopulatePartial 方法

  上面介绍利用Synchronize方法使两个完全副本同步化 不会出现问题 但如果用一个完全副本来同步一个部分副本 因为部分副本是由副本过滤器来从完全副本来过滤重新生成的 因此可能在部分副本中产生所谓的 孤立 记录 即这些记录不能再与其他副本保持同步 要解决这一问题引入了另一个称为PopulatePartial的方法 该方法与Synchronize方法类似 只不过它是实现部分副本与完全副本的同步 在同步时 首先清除部分副本中的所有记录 然后根据当前副本的过滤器来重新生成部分副本 这样就解决了 孤立 记录的问题 其语法为 database PopulatePartial 

cha138/Article/program/SQL/201311/16337

相关参考

知识大全 数据库综合开发实践

  一套原来在Access上开发的桌面系统网页调阅使用ASP编程数据维护系统使C++Builder编程由于Access是一个桌面的共享型数据库所以在通用性和网络开发方面都存在一些问题因此需要将该系统移

知识大全 asp 连接access数据库二种方法

  连接access数据库教程二种方法这里提供了access数据库的dsnless连接方法与accessoledb连接方法哦dimdb="dbmdb";access数据库的dsnless连接方法:  

知识大全 JSP操作Access数据库

JSP操作Access数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  SP操作Access

知识大全 VB.NET连接Access数据库

VB.NET连接Access数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Access数

知识大全 asp access数据库连接代码

  access数据库教程连接代码  dimconnconnstrtimesdbrs       timesdb="/cnnet/

知识大全 Access数据库技巧汇集

Access数据库技巧汇集  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  &

知识大全 Java怎样连接Access数据库

Java怎样连接Access数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  建数据库  配

知识大全 浅谈ACCESS数据库升迁SQLSERVER

浅谈ACCESS数据库升迁SQLSERVER  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs

知识大全 C#操作Access数据库的例子

C#操作Access数据库的例子  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  添加  usin

知识大全 JAVA访问ACCESS数据库的方法

JAVA访问ACCESS数据库的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  这里采用的是