日期:2014-05-16  浏览次数:20649 次

关于客户端访问服务端的数据传输方式疑问
如题,因为是刚开始接触数据库,我个人以我所了解的方式考虑了有以一下两种方式:
一:以使用ADO为例,直接从客户端使用ADO的功能连接服务器上的数据库中并进行相关的操作;
二:所有的对服务器数据库的操作由服务端来完成,客户端通过socket直接向服务端程序发送要处理的数据,服务端收到客户端的请求后做相应的数据操作,并把处理结果再通过socket返回给客户端;

思来想去,觉得第一种方法,实现过程要简单单,毕竟好多东西都在ADO中帮我们封装好了,省了好多麻烦,但不知道服务器对这种访问的数据处理负担有多大,(比如能同时接受连接数量有多大,备注:小公司一般都是用的便宜服务器);

第二种方法个人感觉,服务器的压力要好一点,毕竟数据的处理都可以自已在写服务端程序中有优化的空间,不过这样实现起来感觉很复杂,光是传递的数据,都要自已定义各种数据结构来解析;

以上只是我经过个人理解后的分析,因为现在有这方面的项目任务,在这个问题上面有点纠结,不知道该采用哪种方式去处理,我没有多少分,但还是希望有高人能指点一下!

非常感谢!
------解决方案--------------------
这个得看你的业务。

比如一般的b/s结构,有一个应用服务器,上面是用ado编程,来访问本机上的sql server,或者是另一台服务器上的sql server。

而你的程序,应该更像是c/s的,如果只是需要连接一下数据库,存储一下数据,然后select一些数据,在客户端上显示,修改、删除等简单的功能,而且客户端不是很多,可以考虑直接用ado。

如果你的客户端很多,那么建议做一个服务器端,通过服务器端的ado编程,来连接数据库,而客户端只是把数据通过socket,发送到服务器端,然后服务器端再解包。这个并不是很复杂的。