AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MySQL Dienst prüfen

Ein Thema von strom · begonnen am 28. Jan 2015 · letzter Beitrag vom 28. Jan 2015
Antwort Antwort
Seite 1 von 2  1 2      
strom

Registriert seit: 23. Aug 2008
Ort: Keine Ergebnisse gefunden
290 Beiträge
 
#1

MySQL Dienst prüfen

  Alt 28. Jan 2015, 08:02
Hallo,
möchte prüfen ob der Server "MySQL" also der Dienst läuft.
Hier passiert leider nichts?

Delphi-Quellcode:
function ServiceGetStatus(sMachine, sService: PChar): DWORD;
   {******************************************}
   {*** Parameters: ***}
   {*** sService: specifies the name of the service to open
  {*** sMachine: specifies the name of the target computer
   {*** ***}

   {*** Return Values: ***}
   {*** -1 = Error opening service ***}
   {*** 1 = SERVICE_STOPPED ***}
   {*** 2 = SERVICE_START_PENDING ***}
   {*** 3 = SERVICE_STOP_PENDING ***}
   {*** 4 = SERVICE_RUNNING ***}
   {*** 5 = SERVICE_CONTINUE_PENDING ***}
   {*** 6 = SERVICE_PAUSE_PENDING ***}
   {*** 7 = SERVICE_PAUSED ***}
   {******************************************}
var
   SCManHandle, SvcHandle: SC_Handle;
   SS: TServiceStatus;
   dwStat: DWORD;
begin
   dwStat := 0;
   // Open service manager handle.
   SCManHandle := OpenSCManager(sMachine, nil, SC_MANAGER_CONNECT);
   if (SCManHandle > 0) then
   begin
     SvcHandle := OpenService(SCManHandle, 'MySQL', SERVICE_QUERY_STATUS);
     // if Service installed
     if (SvcHandle > 0) then
     begin
      ShowMessage('TEST'); // Zum testen
       // SS structure holds the service status (TServiceStatus);
       if (QueryServiceStatus(SvcHandle, SS)) then
         dwStat := ss.dwCurrentState;
       CloseServiceHandle(SvcHandle);
     end;
     CloseServiceHandle(SCManHandle);
   end;
   Result := dwStat;
end;

function ServiceRunning(sMachine, sService: PChar): Boolean;
begin
   Result := SERVICE_RUNNING = ServiceGetStatus(sMachine, 'MySQL');
end;
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: MySQL Dienst prüfen

  Alt 28. Jan 2015, 08:20
Meist läuft doch so ein mySQL-Dienst sowieso auf einem Server und nicht auf der Arbeitsstation. Dann wäre es sinnvoller einfach zu schauen ob die Connection klappt.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#3

AW: MySQL Dienst prüfen

  Alt 28. Jan 2015, 08:31
Bist Du sicher, dass der Dienst "MySql" heisst?

Bei mir läuft einer der MySql-Dienste zum Beispiel unter "MySQL501".
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: MySQL Dienst prüfen

  Alt 28. Jan 2015, 08:44
Beim Debuggen würde man merken, welche Bedingung nicht erfüllt wird, und könnte den Fehler mit GetLastError gezielt abfragen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: MySQL Dienst prüfen

  Alt 28. Jan 2015, 08:52
Bist Du sicher, dass der Dienst "MySql" heisst?

Bei mir läuft einer der MySql-Dienste zum Beispiel unter "MySQL501".
Bei mir läuft sogar einer unter dem Namen "ErwinFroehlich" und "PeterLustig" habe ich auch schon gesehen

Der Servicename ist nicht in Stein gemeißelt sondern wird bei der Installation (des Dienstes) vom Benutzer/Installateur festgelegt, sonst könnte auf einem Rechner auch nur eine MySQL-Server-Instanz laufen!
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#6

AW: MySQL Dienst prüfen

  Alt 28. Jan 2015, 10:50
Bei mir läuft sogar einer unter dem Namen "ErwinFroehlich" und "PeterLustig" habe ich auch schon gesehen
Ach Gott bin ich altmodisch.

Ich benenne die die Dienste nach Versionsnummer und wenn zwei der gleiche Versionen laufen dann mit zusätzlichen Instanz-Index.

MySQL323
MySQL40
MySQL501
MySQL55_1
MySQL55_2
MySQL56

Aber so einen Dienst zu personalisieren geht mir dann doch etwas zu weit.
Es klingt dann etwas makaber wenn Du sagst "PeterLustig" hat sich aufgehängt.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
strom

Registriert seit: 23. Aug 2008
Ort: Keine Ergebnisse gefunden
290 Beiträge
 
#7

AW: MySQL Dienst prüfen

  Alt 28. Jan 2015, 11:30
Hallo,
oder einen ganz anderen Weg!

Wenn ich das Programm fertig habe, möchte ich ein Setup erstellen.

Als erstes soll:

MySQL Server 5.1 installiert werden,
dann soll die Tabelle erstellt werden,
dann erst das Setup von meinem Programm.

Kann ich dieses alle mit Setup Inno machen?
Oder was gibt es da noch?

Geändert von strom (28. Jan 2015 um 11:39 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: MySQL Dienst prüfen

  Alt 28. Jan 2015, 11:35
Es klingt dann etwas makaber wenn Du sagst "PeterLustig" hat sich aufgehängt.
Deswegen sagt das System ja auch "Peter Lustig reagiert nicht" und nicht so etwas Schlimmes!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: MySQL Dienst prüfen

  Alt 28. Jan 2015, 11:49
Früher hiessen viele Rechner Elvis, weil man "elvis is alive" als witzig empfand.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: MySQL Dienst prüfen

  Alt 28. Jan 2015, 13:59
Ich wollte eher darauf hinaus, dass die Abfrage auf den Dienst mit dem Namen "MySQL" nicht falsch sein muss - allerdings auch nicht richtig. Eher muss man nach dem richtigen Dienstnamen fragen und der kann sein wie will.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz