Office中国论坛/Access中国论坛

标题: ACCESS能否做成三层架构呢? [打印本页]

作者: 打字比你快    时间: 2017-12-15 15:41
标题: ACCESS能否做成三层架构呢?
ACCESS做了UI后,数据通过ADO连接服务器上的SQL SERVER写入,但连接SQL SERVER的地址、用户名,密码都是写在ACCESS里的,非常不安全。
所以想到能否做个中间服务,ACCESS能过IP地址和端口连接服务器上的中间服务,把数据传给中间服务,由中间服务再去写连接数据库的用户名和密码,再写入数据,这样就安全多了;
即:ACCESS为UI层,中间服务为中间层,sql server为db层。

作者: tmtony    时间: 2017-12-16 09:24
可以做,但工作量不小,但不如b/s方便
作者: ganlinlao    时间: 2017-12-16 18:51
当然可以了。事实上ado本来就是这样设计。
只不过当你从双层结构方案变成三层结构方案,变动是非常大的。它会波及到方方面面的变化。
这个时候,你需要斟酌代价和成本了。总体而言,我也是更喜欢三层结构的,它的伸缩性强太多了。
作者: fan0217    时间: 2017-12-16 19:24
得不偿失,没有必要
作者: leonshi    时间: 2017-12-16 20:19
如果考虑到安全,可以采取其它相关方法做弥补,不一定做这样的三层架构
作者: midasli    时间: 2017-12-31 16:02
本帖最后由 midasli 于 2017-12-31 16:06 编辑

    可以,只要能用API都能做。但工作量巨大。客户端发送读指令,中间层收到指令后,读取数据库中的数据后,把数据集打包,发给客户端,客户端收到数据集后,解包展示数据。客户端回写数据集,又要打包,中间层收到后,解包再回写数据库。客户端不能使用数据库直连,那么只能选TCP/IP或HTTP方式去传送这些东西。而ACCESS是直连结构,并没有提供这些内容,这样一来,ACCESS上的所有东西你就基本上用不了,完全失去了使用它的优势。所以说不适合。
    二来这样,客户端就不允许有任何的SQL指令,所有SQL都要放在中间层,这样写程序,习惯和适应性对初学者来说,又是另一个大问题。
    可是这种物理三层结构,功能是很强大的。一来就是你所说的安全性(中间层拥有绝对的控制权,控制权不在客户端)。二来就是可以应付海量的并发性。这是二层结构永远做不到的。当客户端数量增加到成千上万时,可以通过服务器集群+中间层集群来解决并发问题。编写程序也方便,风格上,可以完全不用存储过程,使用中间层去控制所有的业务规则,让系统的可移植性大大增强。
   物理三层与C/S,B/S是无关。不管C也好,B也好,那是看需求场合而设计,都是一个UI外壳。三层可以有客户端,同时也有网页端。最常见的三层例子有QQ,支付宝,股票软件等等。





欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3