在那里可以设置数据库连接的时间timeout啊?

解决方案 »

  1.   

    ADO:在TADOCONNECTION中好像有一个TIMEOUT属性吧。
    BDE:
    Procedure SetDBLoginTimeOut(Time:Integer);  //将注册表中 BDE的MSSQL的连接超时设置更改
    Var Reg:TRegistry;
    begin    //Time要大于0
      If Time<0 Then Exit;
      Reg:=TRegistry.Create;
      Try
        Reg.RootKey:=HKEY_LOCAL_MACHINE;
        If Reg.OpenKey('Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT',False) Then
        Begin
          Reg.WriteString('CONNECT TIMEOUT',IntToStr(Time));
        End;
      Finally
        Reg.CloseKey;
        Reg.Free;
      End;
    End;
      

  2.   

    如果是BDE,
    应该要把BDE引擎关闭后再打开时设置才有效。把BDE引擎关闭的方法:退出所有经引用BDE的进程。
      

  3.   

    1.SQL Server的连接(登录)超时和查询超时都设为0(企业管理器  工具→选项→高级)。
    2.ADOConnection的Connectiontimeout属性值设置大点。