delphi+mssqlserver C/S 管理系统, 如果同时用户不多( 10多个以下),较为正常.如果同时用户较多(20个以上),即常有断开数据库连接情况出现,,,,请问高手如何解决? 谢了.

解决方案 »

  1.   


    不是VPN, 是一个局域网内呵.
      

  2.   

    把所有用户数据用一个con连接,批量写数据。我想没谁会让client直接连数据库,连接多了不好
      

  3.   

    把连接部分拿出来看看。我们这里C/S双层的200人没出问题,当然服务器比较好。数据量300G左右。
      

  4.   

    多谢楼上各位先.MSSQL的授权数量是够的.连接的代码以下:if Trim(GlServerUserPass)='' then
            myTmpStr:='Provider=SQLOLEDB.1;'+
            'Persist Security Info=False;'+
            'User ID='+GlServerUserName+';'+
            'Initial Catalog='+GlServerDBName+';'+
            'Data Source='+GlServerName+';'+
            'Connect Timeout=15;Use Procedure for Prepare=1;'+
            'Auto Translate=True;Packet Size=4096;'  else
            myTmpStr:='Provider=SQLOLEDB.1;'+
            'Password='+GlServerUserPass+';'+
            'Persist Security Info=False;'+
            'User ID='+GlServerUserName+';'+
            'Initial Catalog='+GlServerDBName+';'+
            'Data Source='+GlServerName+';'+
            'Connect Timeout=15;Use Procedure for Prepare=1;'+
            'Auto Translate=True;Packet Size=4096;';
        try
          begin
            if DataModule1.ADOConnection1.connected=true then DataModule1.ADOConnection1.Close;
            DataModule1.ADOConnection1.ConnectionString:=myTmpStr;
            DataModule1.ADOConnection1.Open;
          end
        except
          try
            config:=Tconfig.create(self);
            config.TePanel1.Visible:=true;
            config.showModal;
          finally
            config.free;
          end;
          exit;
        end;
      

  5.   

    代码没有问题,要看下你的各个界面是不是共用的一个CONNECTION还是分别建立的,问题应该这个地方。