我的程序有很多客户端,会频繁的访问数据库,造成经常会有客户端不能访问到数据库,这样二层好像不能满足要求,但是有高手说三层在这也没有什么优势。
客户端数大于100,小于500
请问有哪位高手、大侠给个实用方案?

解决方案 »

  1.   

    如果没有猜错的话,大多数客户因为连接断掉而不能得到数据库的服务,从这个角度去考虑,三层结构会更好的解决问题,再加上MTS更是绝妙。至于很多客户,就要看你的服务器是否竟得起考验了,中间层可以从中间来分担负载,保持连接,这么会说三层不能解决问题呢?我不同意。
      

  2.   

    COM+的缓冲技术会起作用的,因为访问数据库的过程中,建立连结是比较费时的;
    还有,你是不是用了间隔短的定时器来访问,这样比较不好。
    如果这样,最好用主动方式的IP多播。
      

  3.   

    用C/S结构开发是有这个问题,b/s下的基于web会好一点的,我也经常碰到,好象还没有很好的方案。只能多开用户数用用算了。
      

  4.   

    把电脑硬件换换什么 IDE -> SCI ..........
      

  5.   

    其实类似于此类的问题我也在工作中遇到过,当时我们在客户端采用的是WINSOCKET的连接方式,这个东东我可是不敢恭维,能把你应用层的系统资源给消耗的干干静静,你可以尝试使用HTTP协议的连接方式,具体说是采用WebConnection连接应用程序服务器
      

  6.   

    我现在使用的是C/S的二层架构,用的是ADO连接,如果换成是Webconnection的话,会不会更好些?
      

  7.   

    你这种问题是很明显的,数据库提供的连接数有限,如果你的客户端全部设置成KEEPCONNECT的话,每一个连接都不会释放,数据库忙不过来了。解决这类问题只有两种途径:
    1、优化现有程序,尽量使每一个并发用户锁库的时间最短
    2、改用三层结构,让中间层处理跟数据库的连接
      

  8.   

    我想是SQL SERVER查询时锁表造成的,这是一个不太好解决的问题。