连接SQLServer数据库出现超时已过期,怎么解决啊,设置ConnectionTimeout和CommandTimeout起作用吗,应该设为0还是设为很大的值啊,还有就是在程序运行时会弹出对话框,程序就不能继续运行下去了,想达到即使时超时也不弹出对话框,在重新连接,怎么做啊

解决方案 »

  1.   

    try
       connect....
    except
      ...启用定时器进行连接
    end;
      

  2.   

    设为零表示无限时,应该设为零,我也出现过你说的问题,后来把所有的ADO控件:ADOCONNECTION
    ADOQUERY ADOTABLE 等全部设成零,问题再也没出现过.呵呵.当然,如果你有把握的话,可以设定一个比较大的值,也可以.
      

  3.   

    一般都不会超过30秒的,超过了说明SQL服务有问题,还是从这找原因,要不你的程序会太慢,跑不起来
      

  4.   

    连接SQLServer数据库出现超时已过期,怎么解决啊,设置ConnectionTimeout和CommandTimeout起作用吗,应该设为0还是设为很大的值啊:==>设大一点,一般是30(s)还有就是在程序运行时会弹出对话框,程序就不能继续运行下去了,想达到即使时超时也不弹出对话框,在重新连接,怎么做啊
    ==>自己用
    var
       IsConnOK:Bool;
    begin   IsConnOK:=False;
       while IsConnOK=False do
       begin
             try
                 连接...
                 IsConnOK=True;
             except
                 ;
             end;
        end;
    end;不过,不建议!连接好几次都不成功的话,应该让程序退出来