谢谢你的回复,你所说的中间层是ODBC层吗?

解决方案 »

  1.   

    不一定,还有比如IIS、apache那些,这些地方有可能限制了并发,
      

  2.   

    我是在服务器上写了一个后台工具,使用c++写的,直接通过ODBC连接服务器上的数据库,这样是不会经过其它中间层了吧!
      

  3.   

    http://bbs.csdn.net/topics/250084030
      

  4.   

    出错是报什么错误?给出更详细的详细错误信息。
    默认情况下,ODBC的最大连接为100个,如果你用pooling的话。
      

  5.   


    请问如何才能加大连接数?
    出错的论处为:
    ErrorCode[IM005]
    [Microsoft][ODBC 驱动程序管理器] 驱动程序的 SQLAllocHandle on SQL_HANDLE_DBC 失败
      

  6.   


    请问如何才能加大连接数?
    出错的论处为:
    ErrorCode[IM005]
    [Microsoft][ODBC 驱动程序管理器] 驱动程序的 SQLAllocHandle on SQL_HANDLE_DBC 失败1,更正一下,ODBC的连接数据由ODBC driver manager来控制的,不能通过应用程序来更改,另外我发现也无法ODBC driver manager来设置。上面的错误应该是你的连接数量达到了ODBC 的限制了。2,ADO.NET的sqlclient的连接池是可以通过max pool size来限制的。
      

  7.   

    另外,你没有必要再加大ODBC的连接数量了,如果能同时连接到达900个左右,你肯定已经连接泄漏了,或者你纯粹做测试只打开而不关闭连接。
      

  8.   


    我上面有说过我这个是一个后台服务器程序,例如是一个游戏的服务器端,同一时刻有可能有2000个人在玩,我这边需要同时连接数据库操作,请问这种案例有更好的方式?
    也够了,因为那些连接可以被不同的用户重用的。
    再说你的服务器上有没有2000个核?没有的话还是要排队等待被调度。
    还有就是尽量把业务逻辑不要放在SQL里。