请问在Delphi的代码在访问MS Sql server数据库时如何判断MS Sql Server数据库系统已可用(就是知道Server在任务栏中已是绿三角而不是红三角)

解决方案 »

  1.   

    try
      你的连接控件.Connectioned := True;
      已启动
    except
      没有启动
    end;
      

  2.   

    试试下面这个函数,它可以得到所有正在运行的SQL列表。返回值是SQL个数。
    function SQLServerList(var ServerList:Tstrings):integer;
    var
       SQLServer:Variant;
       SvrList:Variant;
       i,nServers:integer;
       sRetValue:String;
    begin
      SQLServer := CreateOleObject('SQLDMO.Application');
      SvrList:= SQLServer.ListAvailableSQLServers;
      nServers:=SvrList.Count;
      serverlist.Clear;
      for i := 1 to nservers do
          serverlist.Add(svrlist.Item(i));
      SQLServer:=NULL;
      svrList:=NULL;
      result:=nServers;
    end;
      

  3.   

    可以编程针测一下SQL Server的服务是否已经启动了
      

  4.   

    只能用SQLDMO了,前提是:你运行程序的这台机器装了SQL的公用DLL