Arşiv Anasayfa SQL Server
Sayfalar: 1
MS SQL Server'ün Çalışıp Çalışmadığını Kontrol Etme Gönderen: dynamo Tarih: 28 May 2007 08:33:52
sql server veritabanını kullanan bir uygulamamnın yüklü olduğu bilgisayarda SQL Server'ün çalışıp çalışmadığını kontrol etmek için bir fonksiyon yapalım.IsSQLServerRunning fonksiyonu, 3 parametre alır:

function IsSQLServerRunning(server:string; database:string; sapassword:string): boolean;
server-->bilgisayar adı
database--->veritabanı katalog adı
sapassword--->sql server yüklendiğinde sa ya verilen şifre

:
function IsSQLServerRunning(server:string; database:string; sapassword:string): boolean;
var
  TempConnection: TADOConnection;
  TempConnectionString: string;
begin
  try
    try
      Result := TRUE;

      TempConnection := TADOConnection.Create(nil);
      TempConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=%s;Initial Catalog=%s;Data Source=%s';

      TempConnection.CommandTimeOut := 5;
      TempConnection.ConnectionTimeOut := 5;
      TempConnection.ConnectionString := Format(TempConnectionString, [sapassword, database, server]);
      TempConnection.KeepConnection := FALSE;
      TempConnection.LoginPrompt := FALSE;
      TempConnection.Open;
    except
      Result := FALSE;
    end
  finally
    TempConnection.Close;

    TempConnection.Free;
    TempConnection := nil;
  end;
end;



:
function GetComputerName: string;
var
  buffer: array[0..MAX_COMPUTERNAME_LENGTH + 1] of Char;
  Size: Cardinal;
begin
  Size := MAX_COMPUTERNAME_LENGTH + 1;
  Windows.GetComputerName(@buffer, Size);
  Result := StrPas(buffer);
end;

server parametresine, GetComputerName fonksiyonuyla çalıştığı bilgisayarın adı sistemden alınabilir.böylece başka bir bilgisayarda çalıştırdığımızda her seferinde bilgisayar adını değiştirmek zorunda kalmayız.

database parametresine "master" veritabanı adı atanır.istenirse uygulamanın kullandığı veritabanı adı da olabilir.

kullanımı:

:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if IsSQLServerRunning(GetComputerName,'master','') then
  begin
    ShowMessage('SQL Server çalışıyor.');
  end
  else
  begin
    ShowMessage('SQL Server çalışmıyor......');
  end;

end;


bu fonksiyonu bir unit içinde tanımlayıp ,uniti uses kısmına ekleyerek başka projelerde kullanabiliriz.

:
unit SQLConnection;

interface

uses
  SysUtils,ADODB;


  function IsSQLServerRunning(server:string; database:string; sapassword:string): boolean;


implementation

function IsSQLServerRunning(server:string; database:string; sapassword:string): boolean;
var
  TempConnection: TADOConnection;
  TempConnectionString: string;
begin
  try
    try
      Result := TRUE;

      TempConnection := TADOConnection.Create(nil);
      TempConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=%s;Initial Catalog=%s;Data Source=%s';

      TempConnection.CommandTimeOut := 5;
      TempConnection.ConnectionTimeOut := 5;
      TempConnection.ConnectionString := Format(TempConnectionString, [sapassword, database, server]);
      TempConnection.KeepConnection := FALSE;
      TempConnection.LoginPrompt := FALSE;
      TempConnection.Open;
    except
      Result := FALSE;
    end
  finally
    TempConnection.Close;

    TempConnection.Free;
    TempConnection := nil;
  end;
end;


end.


örnek uygulama ekte