+ -
当前位置:首页 → 问答吧 → delphi怎么判断sql server数据库的服务启动

delphi怎么判断sql server数据库的服务启动

时间:2009-12-08

来源:互联网

大家好,我请教个问题,delphi怎么判断sql server数据库的服务启动,如果服务起来,就连接数据库,否则不连接据库

作者: xsgdhjt   发布时间: 2009-12-08

扫端口或强硬连接加个except或服务器那边那服务扫进程再与客户端通讯

作者: dinoalex   发布时间: 2009-12-08

如果在服务端判断,可以判断服务中的sqlserver是否已运行

作者: yuehaiyang   发布时间: 2009-12-11

服务器端查询服务MSSQLSERVER是否启动

作者: build8502   发布时间: 2009-12-11

连接端口443

作者: ljq900   发布时间: 2009-12-15


//取SQLSERVER的狀態
FUNCTION getSQLServerStatus(CONST ServerName:PCHAR):SMALLINT;STDCALL;
VAR
  oSqlServer :_SqlServer;
BEGIN
result := -1; //Unknown
TRY
  osqlserver :=coSqlserver.Create;
  osqlServer._AddRef;
  osqlserver.Name := serverName;
  if oSqlserver.Status=SQLDMOSvc_Unknown then
  result := -1 //Unknown
  else if oSqlserver.Status=SQLDMOSvc_Stopped then
  result := 0 //Stopped
  else if oSqlserver.Status=SQLDMOSvc_Starting then
  result := 1 //Starting
  else if oSqlserver.Status=SQLDMOSvc_Running then
  result := 2 //Running
  else if oSqlserver.Status=SQLDMOSvc_Stopping then
  result := 3 //Stopping
  else if oSqlserver.Status=SQLDMOSvc_Paused then
  result := 4 //Paused
  else if oSqlserver.Status=SQLDMOSvc_Continuing then
  result := 5 //Continuing
  else if oSqlserver.Status=SQLDMOSvc_Pausing then
  result := 6; //Pausing;
  oSqlserver._Release;
  oSqlserver :=nil;
EXCEPT
ON E:Exception DO
  begin
  end;
END;
END;

作者: FOREST169   发布时间: 2009-12-16

楼上的方法学习了

作者: baronyang   发布时间: 2009-12-19

oSqlServer :_SqlServer; 

你引用哪个文件了。

作者: jdxjf   发布时间: 2009-12-31

:_SqlServer
--------------
是不是要引用啥头文件吧?

作者: Dingnifei123   发布时间: 2010-01-01

Delphi(Pascal) code

uses
  WinSvc;

function IsServeExist(const AServiceName: string): Boolean;
var
  hSM, schService: SC_HANDLE;
begin
  Result := False;
  hSM := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
  try
    if (hSM = 0) then
      Exit;
    schService := OpenService(hSM, PChar(AServiceName), SERVICE_ALL_ACCESS);
    try
      Result := schService <> 0;
    finally
      CloseServiceHandle(schService);
    end;
  finally
    CloseServiceHandle(hSM);
  end;
end;

调用:
if IsServeExist(SQL的服务名) then
 ..
else
  ..

作者: sanguomi   发布时间: 2010-01-01

感谢楼主的分享,学习啦!

作者: BingHu2002   发布时间: 2010-01-02

引用 9 楼 sanguomi 的回复:
Delphi(Pascal) code

uses
WinSvc;

function IsServeExist(const AServiceName: string): Boolean;
var
hSM, schService: SC_HANDLE;
begin
Result := False;
hSM := OpenSCManager(nil, nil, S……

这个好象不行呢

作者: gykthh   发布时间: 2010-03-18

引用 9 楼 sanguomi 的回复:
Delphi(Pascal) code

uses
WinSvc;

function IsServeExist(const AServiceName: string): Boolean;
var
hSM, schService: SC_HANDLE;
begin
Result := False;
hSM := OpenSCManager(nil, nil, S……




不行的。

作者: chen_shu_jie   发布时间: 2011-12-25

热门下载

更多