知识大全 使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是一个桌面的共享型数据库所以在通用性和网络开发方面都存在一些问题因此需要将该系统移
连接access数据库教程二种方法这里提供了access数据库的dsnless连接方法与accessoledb连接方法哦dimdb="dbmdb";access数据库的dsnless连接方法:
JSP操作Access数据库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! SP操作Access
VB.NET连接Access数据库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Access数
access数据库教程连接代码 dimconnconnstrtimesdbrs timesdb="/cnnet/
Access数据库技巧汇集 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &
Java怎样连接Access数据库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 建数据库 配
浅谈ACCESS数据库升迁SQLSERVER 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
C#操作Access数据库的例子 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 添加 usin
JAVA访问ACCESS数据库的方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 这里采用的是