如何拆分复制的Access 97数据库
|
那些对Access数据库无经验的开发人员,他们常常不知道改变复制为对象设计,而不是数据表,那样会引起一些问题。这是令人失望的,首先, 因为复制似乎是分布完整的Access应用程序的最好途径,毕竟,Microsoft是支持它的。 问题是,Jet的复制是设计有数据表的。这是因为Jet复制主要是用于Visual Basic应用程序的,在那里,只有数据可以被存储在*.mdb文件里。这是它被测试最多的地方。对于Access 97来说,它总是被理解为,一个优秀的开发人员在将其转换成副本之前总是要拆分数据库,这样,只有表才能使被复制。关于拆分Access 数据库的概念,请参阅“在Microsoft Access 97中创建应用程序”的 第15章,第3节, 这些文档在Access 97光盘中都有。 复制之前没有拆分数据库,你会发现你的副本的大小会“膨胀”。这是因为,你做的每一个到格式或模块的改变,如,被放在隐藏表中,这样就变成了需要被复制的信息。想象一下,你努力30次正确地去做某个模块的代码工作。这些改变(除最后一个不必要外)都被发送到所有的副本,开发人员在复制前不能拆分就会碰到一个恼人的问题:复制工作正确进行一会儿后(也许甚至几个月),模块会突然不能工作,或表单不能打开。 所以,你怎么能拆分已经被复制的数据库?我在这儿建议你根据以下的步骤去做。 不要使用拆分数据库向导。这是因为,它正好用了错误的方式来拆分数据库,这样,你的数据表就不能再复制了---它把表移到新的文件中去了,并把对象的剩余部分放到了副本里,而我们要做的,是要把数据表放在副本里,并把其他的对象移到新的未复制的数据库文件中。那样的话,后端的剩余部分是可以复制的,作为当前副本设置的一部分,前端现在则是独立数据库,只能被拷贝到每一个应用程序用户。 |
