Hallo,
da scheint es ja irgendein "Zeitproblem" zu geben.
Versuche es doch mal bitte in der Art:
Delphi-Quellcode:
var
iError : Integer;
sMessage :
String;
...
if ServiceGetStatus('
', '
FirebirdGuardianDefaultInstance') = 4
then
begin
if not QryMB256PLUS.Active
then begin
iError := 0;
DeleteFile('
c:\netstart.txt');
// eine temporäre Logdatei, kann bei Funktion des Programmes entfallen.
Repeat
Try
QryMB256PLUS.Open;
Except
on e :
Exception Do begin
sMessage := e.
Message;
Inc(iError);
WinExec('
CMD.EXE /C "net start >> c:\netstart.txt"',SW_HIDE);
// nur zur momentanen Fehlersuche, kann später entfallen.
Application.ProcessMessages;
Sleep(1000);
end;
end;
until QryMB256PLUS.Active
or (iError > 5);
// <- bitte ausprobieren, ob 5 reicht oder eventuell höher sein muss.
if iError > 5
then begin
ShowMessage('
Die Datenbank konnte mit ' + IntToStr(iError) + '
Versuchen nicht geöffnet werden.'
+ #13 + '
Die letzte Fehlermeldung lautete: ' + sMessage);
Application.Terminate;
// <- oder sonstige Fehlerbehandlung.
end;
...
Beim WinExec sollte eine Datei erstellt werden, die jeweils die aktuell laufenden Dienste enthält. Kannst Du in dieser Datei zwischen den einzelnen Aufrufen einen Unterschied feststellen? Dann könnte dort eventuell eine Abhängigkeit zwischen Diensten bestehen, die Du bei Deiner Dienstprüfung mit berücksichtigen musst.
Für eine Fehlerprotokollierung schau bitte mal hier:
ErrorLog
Zitat von
Jens Hartmann:
Das sehe ich ein wenig anders, wenn ich doch in meinem Programm vor dem Datenbankstart, den Dienst abfrage, wie in #11 beschrieben, ist es doch egal, ich frage ja schließlich vor dem öffnen der Datenbank ob der Dienst gestartet ist
Jain, in Bezug auf den Dienst dürftest Du recht haben, es gibt aber wohl noch eine andere Abhängigkeit, die momentan keiner von uns kennt.
Zeig' uns doch mal bitte die Ergebnisse von
net start einmal mit den laufenden Datenbankdiensten, einmal ohne die Datenbankdienste. Eventuell gibt es da ja noch einen Unterschied mehr, als nur den von Dir abgefragten Dienst.
Hilft eventuell das weiter?
Re: Firebird "SQL Error Code -904" Bitte um Hilfe
oder
Re: Firebird und Vista