Announcement

Collapse
No announcement yet.

IBDatabaseinfo stoppt Serverprozess

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • IBDatabaseinfo stoppt Serverprozess

    Hallo und Guten Abend,

    um meinem Kunden den Service zu bieten, wie viele Rechner noch online sind, habe ich über einen Timer eine Abfrage der Datenbank gestartet :

    <PRE>
    if dt.IBDSystem.Connected then
    with IBDatabaseInfo1 do
    begin
    try
    u := 'Es sind ' + inttostr(Usernames.count) + ' Rechner angemeldet';
    FormHAupt.Statusbar1.Panels[0].text := 'Client :' + version;
    FormHAupt.StatusBar1.Panels[4].Text := 'Loglist : ' + u;
    FormHaupt.Statusbar1.panels[1].text := 'Server : ' + DBFileName;
    FormHaupt.Statusbar1.Panels[2].Text := 'Fetches :' + inttostr(fetches);
    FormHaupt.Statusbar1.panels[3].text := 'Speicher : ' + IntToStr(CurrentMemory);
    except
    showmessage('Datenverbindung prüfen oder Kontrolle beenden.')
    end;
    end;

    </PRE>

    Das Ergebnis ist, das alles 1 - 2 Stunden läuft, dann der wird der Serverprozess 'abnormal Termination' beendet und über den Guardian neu gestartet. Als Ergebnis muss ich dann auf allen Rechnern das Programm mit strg-alt-entf terminieren, obwohl ich alle Datenbankrelevanten Programmzeilen in try und error eingeschlossen habe.

    Es wäre schön, wenn jemand eine Lösung hat, Viele Grüße

    Günter

  • #2
    Hallo Günter,<br><br>
    ich habe TIBDatabaseInfo in dieser Art und Weise noch nicht verwendet, aber vielleicht kann man Dir weiterhelfen, wenn Du uns etwas mehr über Deine Systemumgebung erzählst ;-). Also:<br><br>
    - Welche InterBase/Firebird Version (mit welcher Architektur; Super Server vs. Classis?) unter welchem Betriebssystem?<br>
    - Existieren mehrere, unterschiedliche gds32.dll Versionen am Client oder Server?<br>
    - Welche Delphi/IBX Version?<br>
    - Wie sieht Dein Connect-String aus?<br>
    - Was befindet sich im interbase.log File, ein paar Einträge vor und nach dem Eintrag, dass der Serverprozess beendet wurde?<br><br>
    Gruss,<br>
    Thoma
    Thomas Steinmaurer

    Firebird Foundation Committee Member
    Upscene Productions - Database Tools for Developers
    Mein Blog

    Comment


    • #3
      Hallo Thomas,

      Entwicklung mit D5prof, IBX 4 und 5 bis 5.03, Win2k

      Ich habe folgende Kombinationen geprüft : Server Win98, Win2K, Client win98, win2K, firebird, IB 6 ..01 bis ..02, alle GDS32.dll immer gleich gehalten. Der Fehler tritt nach unbestimmter Zeit immer wieder auf.

      Die Verbindung wird mit TCP ausgeführt, der Server mit IPAdresse oder mit //Name angesprochen, keine Änderung !

      Hier im Forum wurde schon häufiger über 'lost connections' in verschiedenen Zusammenhängen diskutiert.

      Kann es sein, das IBDataset 'sauber' eine Verbindung bei Bedarf neu startet, IBDatabaseinfo das jedoch nicht?

      Selbst wenn die Rechner stundenlang nicht benutzt werden, kann mit IBDataset mit kurzer Verzögerung wieder zugegriffen werden.

      Zur Not reicht eine andere Lösung, um die verbundenen User aufzulisten, doch der Weg mit IBDatabaseinfo ist bequem.

      Gruß Günte

      Comment


      • #4
        Hallo Günter,<br><br>
        nun ja, so wirklich schlau werd ich daraus leider nicht. Du hast noch nicht geschrieben, was im interbase.log File vor und nach dem Restart durch den Guardian drinnen steht. Zeig auch mal wie der Connect-String nun wirklich konkret aussieht, weil mit //Name (oder war es doch \\Name ?) verwendest Du nicht TCP/IP als Protokoll für die Verbindung zu einer Remote-Datenbank.<br><br>
        Solltest Du weiterhin Probleme mit TIBDabaseInfo haben, dann wär vielleicht ein Tool <b>IB_ShowUsers</b> von Karsten Strobel eine Alternative, weil dieses Kommandozeilentool als Delphi-Projekt mit Source heruntergeladen werden kann. http://www.ait-augsburg.de/downloads.htm<br><br>
        Gruss,<br>
        Thoma
        Thomas Steinmaurer

        Firebird Foundation Committee Member
        Upscene Productions - Database Tools for Developers
        Mein Blog

        Comment


        • #5
          Hallo Thomas,

          der connectstring sieht immer 192.168.115.1:c:\Daten\System5.GDB oder
          server:c:\Daten\System5.gdb aus. Fehler nach einiger Zeit immer gleich.

          Im Log steht folgender Eintrag:

          REMOTE INTERFACE/gds_detach: Unsuccesful detach from database. Uncommitted work may have been lost.

          Eine einzelne Abfrage über Databaseinfo geht immer, nur wenn ich über Timer automatisieren möchte, kommt der Fehler.

          Gruß Günte

          Comment


          • #6
            Hallo Günter,<br><br>
            derzeit bin ehrlich gesagt etwas ratlos ;-), weil ich nicht weiß, ob es ein Problem im Server ist, oder vielleicht die TIBDatabaseInfo in Deinem Fall dieses Problem verursacht. Mit Google findet man einige vage Beiträge zu diesem Log-Eintrag (unter anderem auch, dass man überprüfen sollte, ob die Datenbank beschädigt ist). Eventuell sollte man auch versuchen in der IBX Borland Newsgroup eine Meldung hineinzustellen, wo ja dann Jeff O. (der Autor von IBX) oder jemand anderer dieses Problem bereits einmal gehabt hat. Ich werd bei Gelegenheit versuchen, Dein Problem mit obigen Source-Code nachzustellen.<br><br>
            Gruss,<br>
            Thoma
            Thomas Steinmaurer

            Firebird Foundation Committee Member
            Upscene Productions - Database Tools for Developers
            Mein Blog

            Comment


            • #7
              Hallo Thomas,

              ich habe heute den Trick gefunden !

              Auf dem Server läuft auch das Archiv von ELO - Office zur Archivierung umfangreicher Scandaten.

              Wenn auf einem Clienten gescannt wird und das GDB-Zugriffsprogramm während der Scannzeiten zugreifen will, tritt der Fehler auf.

              Dabei unterbricht der Serverprozess und der Server startet neu.

              Da ich ELO durch etwas eigenes nach Typ 'Redsys' von Kosch ersetzen will, nehme ich es erstmal hin.

              Vielen Dank für die Mühe

              Gruß Günte

              Comment

              Working...
              X