1.多客户环境下数据库的储存方式。在客户/服务器系统中,应用程序一般分为两种情况:一种是把整个应用程序放到网络服务器上,允许多个用户打开数据库。在这种情况下,用户可以共享组成应用程序的所有数据库对象,包括存储数据的表。另一种是把应用程序分为两个数据库(双数据库):一个是包括应用程序数据表的后端数据库,另一个是包含应用程序其它对象(查询、窗体、报表、宏和模块)的前端数据库,前端数据库还可以管理临时对象。后端数据库放到网络服务器上,而前端数据库分发给用户,使来自后端数据库的连接表作为前端数据库对象的基础。在多用户环境中,双数据库方法具有较为明显的优势,因为应用程序不必建立可可能与另一个用户发生冲突的临时表。因此,在用户工作站上存储前端数据库,可以避免对临时对象的争用;同时,由于在本地存储静态对象,因而当应用程序运行时,可以使网络通信量减少到最小。
2.静态部件与动态部件。应用程序中的部件可以归为两类,即静态部件和动态部件。
(1)静态部件:应用程序中相对稳定,即不经常改变的部分。常用的静态部件是组成调用Microsoft Jet宿主程序的动态链接库(.dll)和可执行文件(.exe),例如Visual Basic,Microsoft Access,Microsoft Excel等。此外,应用程序中的部件,如窗体、报表和程序代码等,也属于静态部件。
静态部件不经常改变,因而是工作站存储的理想选择。为了获得最佳性能,通常把静态对象安装在本地工作站上。这种情况下,当应用程序的设计变更时,必须对本地工作站上的对象进行更新。但是,如果用户工作站的磁盘空间不够用,或者希望能更好地控制静态部件的变更,则可以把静态部件存储在网络服务器上。这样做会明显增加网络的通信量和降低应用程序的性能,但可以使应用程序更易于管理。当然,如果可能的话,最好把静态部件存储在用户端。
把部件移到工作站上,将会给应用程序的管理带来一些麻烦。例如,当需要修改应用程序的静态对象时,例如修改表的结构或程序代码,必须有相应的机制来更新每个工作站上所有受影响的部件。当工作站较多时,这种操作相当费时费力。为了解决个问题,可以使用下两种方法:
·在启动应用程序时检查部件的最新版本。例如,应用程序的启动代码可以把本地数据库中静态对象的修改日期与服务器的中央数据库中的日期进行比较,如果发现服务器对象的日期较新,则自动输入对象的最新版本,使本地数据库保持最新。
[1] [2] [3] 下一页
|