![]() |
MySQL Dienst prüfen
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; |
AW: MySQL Dienst prüfen
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.
|
AW: MySQL Dienst prüfen
Bist Du sicher, dass der Dienst "MySql" heisst?
Bei mir läuft einer der MySql-Dienste zum Beispiel unter "MySQL501". |
AW: MySQL Dienst prüfen
Beim Debuggen würde man merken, welche Bedingung nicht erfüllt wird, und könnte den Fehler mit GetLastError gezielt abfragen.
|
AW: MySQL Dienst prüfen
Zitat:
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! |
AW: MySQL Dienst prüfen
Zitat:
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. |
AW: MySQL Dienst prüfen
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? |
AW: MySQL Dienst prüfen
Zitat:
|
AW: MySQL Dienst prüfen
Früher hiessen viele Rechner Elvis, weil man "elvis is alive" als witzig empfand.
|
AW: MySQL Dienst prüfen
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.
|
AW: MySQL Dienst prüfen
Zitat:
|
AW: MySQL Dienst prüfen
Zitat:
|
AW: MySQL Dienst prüfen
Richtig, ich würde sofern möglich auf MariaDB ausweichen, dann hat man keine Sorgen bezüglich Lizenzgebühren.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz