怎样拆分复制的Access97数据库

  那些对Access数据库无经验的开发人员,他们常常不知道改变复制为对象设计,而不是数据表,那样会引起一些问题。这是令人失望的,首先, 因为复制似乎是分布完整的Access应用程序的最好途径,毕竟,Microsoft是支持它的。

  问题是,Jet的复制是设计有数据表的。这是因为Jet复制主要是用于Visual Basic应用程序的,在那里,只有数据可以被存储在*.mdb文件里。这是它被测试最多的地方。对于Access 97来说,它总是被理解为,一个优秀的开发人员在将其转换成副本之前总是要拆分数据库,这样,只有表才能使被复制。关于拆分Access 数据库的概念,请参阅“在Microsoft Access 97中创建应用程序”的 第15章,第3节, 这些文档在Access 97光盘中都有。

  复制之前没有拆分数据库,你会发现你的副本的大小会“膨胀”。这是因为,你做的每一个到格式或模块的改变,如,被放在隐藏表中,这样就变成了需要被复制的信息。想象一下,你努力30次正确地去做某个模块的代码工作。这些改变(除最后一个不必要外)都被发送到所有的副本,开发人员在复制前不能拆分就会碰到一个恼人的问题:复制工作正确进行一会儿后(也许甚至几个月),模块会突然不能工作,或表单不能打开。

  所以,你怎么能拆分已经被复制的数据库?我在这儿建议你根据以下的步骤去做。

  不要使用拆分数据库向导。这是因为,它正好用了错误的方式来拆分数据库,这样,你的数据表就不能再复制了---它把表移到新的文件中去了,并把对象的剩余部分放到了副本里,而我们要做的,是要把数据表放在副本里,并把其他的对象移到新的未复制的数据库文件中。那样的话,后端的剩余部分是可以复制的,作为当前副本设置的一部分,前端现在则是独立数据库,只能被拷贝到每一个应用程序用户。

  要确保你的副本都要同步,你就要知道,万一你损坏了设计主,而你已经更新了数据。

  创建新的Access数据库文件,该文件会在前端。根据Microsoft例子,你可以添加"_fe"到初始数据库名,虽然它确实对你要调用的并无关紧要。

  把这个新的文件打开,从设计主输入所有的查询,表单,报表,宏以及模块。如果你把开关板置于适当的你可以使用开关管理器控制的位置,那么,你也需要输入开关板项目表。

  如果你已执行了数据库安全,那么,你会丢失在第4和第5步骤中输入或连接的所有对象中的容许设置。所以,打开设计主,将这些容许设置拷贝到新的文件(即,前端)。

  现在,你需要添加代码到前端,该前端更新了连接到用户的本地副本。在开发人员解决方案数据库中,你会发现做这些工作的帮助。它随Access 97作为样本数据库出现。从“使用多数据库”分类中选择“启动连接表”。

  分布前端到你的所有用户。记住,该文件不应再被复制。你只须为需要的人拷贝即可。叫你的用户切换到使用前端。当你确定他们现在在使用前端时,你就可以继续下去,把设计主转换成后端(下两个步骤),便于他们同步下次时间,他们的副本也将变成后端。

  打开设计主,删除你在第4步骤中输入的所有对象。

  两次紧致设计主,然后使其与你的其他副本同步。

  注意:如果你想继续Microsoft在其拆分数据库向导中使用的准确的命名约定,那么,你就不得不通过添加"_be"到其文件名来重新命名你的后端副本。最安全的办法是在复制管理器里,用移动副本命令来做。

时间: 2024-10-27 04:22:38

怎样拆分复制的Access97数据库的相关文章

SQLSERVER监控复制并使用数据库邮件功能发告警邮件

原文:SQLSERVER监控复制并使用数据库邮件功能发告警邮件 SQLSERVER监控复制并使用数据库邮件功能发告警邮件 最近熬出病来了,都说IT行业伤不起,不说了,说回今天的正题   正题 上个月月底的时候因为要搬迁机房,需要将一个数据信息数据库先搬到我们的机房,然后将客户的数据库 从原来的机房A搬到机房B,原来我们的数据信息库(DataInfo)是放在机房A的,但是为了以后方便和防止信息泄露 就放到我们的托管机房,这里叫机房C   在搬迁机房的时候,尽量减少宕机时间,数据不能丢,搬迁机房真是

如何拆分复制的Access 97数据库

那些对Access数据库无经验的开发人员,他们常常不知道改变复制为对象设计,而不是数据表,那样会引起一些问题.这是令人失望的,首先, 因为复制似乎是分布完整的Access应用程序的最好途径,毕竟,Microsoft是支持它的. 问题是,Jet的复制是设计有数据表的.这是因为Jet复制主要是用于Visual Basic应用程序的,在那里,只有数据可以被存储在*.mdb文件里.这是它被测试最多的地方.对于Access 97来说,它总是被理解为,一个优秀的开发人员在将其转换成副本之前总是要拆分数据库,

利用拆分后的后端数据库保存不同年份的数据

面向:初学者 目的:如果一年的数据较多,希望在分年的数据库中保存数据 知识点:1.数据库拆分 2.文件查找技术 3.文件复制 4.链接表的刷新 步骤: 1.将一些每年都要使用(修改,添加等)的表的名称前两个字母改为共同的(如:Or_业务人员名单,Or_收货人名单等),注意不要是"MS","SW","US"等系统要使用的字母 2.将数据库拆分(假如前端名称为:出口业务记录.mdb,后端名称为:出口业务记录_dataOrigin.mdb 3.在启动窗

SQL SERVER中如何监控复制并使用数据库邮件功能发告警邮件

上个月月底的时候因为要搬迁机房,需要将一个数据信息数据库先搬到我们的机房,然后将客户的数据库 从原来的机房A搬到机房B,原来我们的数据信息库(DataInfo)是放在机房A的,但是为了以后方便和防止信息泄露 就放到我们的托管机房,这里叫机房C 在搬迁机房的时候,尽量减少宕机时间,数据不能丢,搬迁机房真是一门学问... 虽然这麽忙,但我还是把写文章的时间腾出来,把干货分享给大家o(∩_∩)o 因为很多系统都在读写机房A的数据信息库(DataInfo),我在上个月底的时候用备份文件初始化的方式搭建好

通过数据复制实现异构数据库与Sybase数据库之间的数据复制与集成

Sybase复制服务器应用方案之六 复制服务器支持Sybase与非Sybase数据库之间数据的复制模式,例如借助于Sybase的复制代理,用以获得IBM主机上DB2数据库的更新事务,并复制到ASE的复制服务器中,用于决策支持系统.该方案多用于非Sybase数据库到Sybase数据库的单向复制. 示意图如下: 该方案需要配置系统软件:ASE.Rep .SQL Remote. 该方案的优点是高性能(不增加AS数据访问的负担,特有的数据访问和消息传输机制):发送更新事务而非数据本身,保证了数据的完整性

MySQL数据库复制概念及数据库架构不断扩展方案

MySQL Replication 系统扩展的方式:        scale up:向上扩展,垂直扩展    使用更高性能的硬件来扩展        scale out:向外扩展,水平扩展    提供更多的节点来提供更多的访问需求          复制:水平扩展的一种方案   如果构建一个httpd负载均衡集群会面临的问题: 当用户请求到达时,负载均衡器给调度到后端的各realserver上,如果web服务器允许用户上传数据,用户上传数据到第一个节点上,而后他又访问被调度到第三个节点上来,则

mysql数据复制到access数据库

access|mysql|数据|数据库 mysql数据库表sqltable 字段id,name,sex,email access数据库表accesstable id,name,sex,email <?      $connect = mysql_connect("localhost","","");      mysql_select_db("mydatabase");      $sql = "select

使用rman的duplicate复制Oracle10g R2数据库的输出

此命令的输出可以看出,Oracle RMAN的duplicate 命令内部执行的情况,对克隆有更深刻的理解. 之前的步骤演示请参考: http://andylhz2009.blog.51cto.com/728703/771481 c:\oracle\product\10.2.0\client_1\BIN>rman target sys/password@DGP 恢复管理器: Release 10.2.0.1.0 - Production on 星期二 1月 31 00:59:06 2012 Co

如何使用RMAN的DUPLICATE复制Oracle10g R2数据库

这里我已经有一个安装好的数据库,版本是:10g R2  主机名称:dg1.andylhz.com 实例名dg,另外一台数据库主机,安装oracle软件和第一台数据库的安装环境一样,但没有安装数据库.主机名称:dg2.andylhz.com,实例名,dgc 1.将dg1的系统参数文件,监听文件,密码文件,拷贝到dg2的相应位置. 编辑初始化参数文件initdg.ora 将文件中的dg全部替换成dgc 保存并重命名为:initdgc.ora 如下: [oracle@dg2 dbs]$ more /u