当前位置:主页>Delphi教程>文章内容
如何判断一个机器的MSSQL是否启动
来源: 作者: 发布时间:2007-04-29  
 

//判断一个机器的MSSQL是否启动,通过SQL DMO是可以的,但对于没有装MSSQL的客户端来说就没办法,此处用的是连接MSSQL的1433端口,如果端口号不同,可以通过传递端口.
unit Judge_U;

interface
uses
  SysUtils, Classes, IdBaseComponent, IdComponent, IdTCPConnection, IdIcmpClient,
  IdTCPClient, IdRawBase, IdRawClient;


  function JudgePort(AServerName: PChar; APort: Integer): Boolean;
  function JudgePing(AServerName: PChar): Boolean;
implementation

function JudgePing(AServerName: PChar): Boolean;//这个是用来PIN计算机的.
var
  ICMP: TIdIcmpClient;
begin
  ICMP := TIdIcmpClient.Create(nil);
  ICMP.ReceiveTimeout := 1000;
  ICMP.Host := AServerName;
  try
    ICMP.Ping;
    Result := True;
  except
    Result := False;
  end;
  ICMP.Free;   
end;

function JudgePort(AServerName: PChar; APort: Integer): Boolean;
var
  IdTCPClient1: TIdTCPClient;
begin
  IdTCPClient1 := TIdTCPClient.Create(nil);
  IdTCPClient1.Host := AServerName;
  IdTCPClient1.Port := APort;
  try
    IdTCPClient1.Connect;
    Result := True;
    IdTCPClient1.Disconnect;
  except
    Result := False;
  end;
  IdTCPClient1.Free;
end;

end.
//有以下已知的BUG.
  //1  如果一台计算机上安装了多个实例.
  //2  如果不用TCP/IP协议,而用其它的连接方式,比如典型的命名管道,就无法判断.



 
上一篇:双对象列表,双字符串列表   下一篇:实现QQ窗体的缩入伸出功能
 
  相关文章
·双对象列表,双字符串列表
·实现QQ窗体的缩入伸出功能
·我对DELPHI写的几个基类型
·delphi中宏小用
·设计模式之singleton
·singleton之我见
·delphi8里在VCL.net使用Ado.net
·Delphi2005学习笔记4(续)——再谈Dll以
·创建快捷方式到[启动]
·borland工程师如何保证父类(TStream)的
·中港台譯名對照表簡易語法版
·在WIN2000/XP下添加自定义纸张的Delphi
 
【关闭窗口】
推荐本站资源
最新文章