Announcement

Collapse
No announcement yet.

Probleme nach hinzufügen eines Datenbankfeldes.

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

  • Probleme nach hinzufügen eines Datenbankfeldes.

    Kennt jemand das Problem, dass wenn Änderungen an einer Datenbanktabelle durchgeführt werden, es zu einem Absturz und Neustart des Firebird Servers kommt?
    Der Neustart wiederholt sich in einem Zeitraum von ca. 6 Stunden bis zu drei mal.
    Genau die selben Neustartprobleme erhalte ich nach einem gewöhnlichen Neustart von Firebird.

    Füge ich ein Feld hinzu, wenn niemand mehr auf die Datenbank zugreift, gibt es keinen Neustart.
    Seltsam ist aber, dass wenn ich z.B ein Feld vom Typ float als not null und default = 0 hinzufüge, muss ich Firebird neu starten, damit die Änderung abgeschlossen wird. Ohne Neustart erhalten die User eine Fehlermeldung, dass das Feld nicht null sein darf.

    Ich weiß im Moment nicht wo ich anfangen soll zu suchen, deshalb hier noch etwas Infos über die Umgebung.

    Firebird läuft auf SuSE 9.1
    Firebird 1.5.0.4290
    Rechner
    2 x Xeon 2,8 GHZ
    1 GB Speicher
    Die Client greifen zum Teil über die BDE oder über ODBC auf die Datenbank zu.

    Grüße
    Rolf

  • #2
    Welcher fehler?
    Welche FB-Version?

    Comment


    • #3
      Originally posted by Markus Kinzler View Post
      Welcher fehler?
      /opt/firebird/bin/fbguard: bin/fbserver terminated abnormally (-1)
      /opt/firebird/bin/fbguard: guardian starting bin/fbserver

      Welche FB-Version?
      Firebird 1.5.0.4290 ( Superserver )

      Comment


      • #4
        Hallo Rolf,

        versuch mal neben dem Anlegen des Felds mit einem DEFAULT noch ein explizites UPDATE auf die Tabelle zu machen, das das Feld mit dem Wert 0 setzt und die Transaktion des UPDATEs committen.

        Thomas
        Thomas Steinmaurer

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

        Comment


        • #5
          Hallo Thomas,
          was meinst Du mit "UPDATE auf die Tabelle" genau?
          update tabelle set defaultfeld = 0 ?
          Wenn ich mit ibexpert die Datenbank ansehe ist dort aber bereits 0 eingetragen.
          Lege ich einen neuen Datensatz direkt in der Tabelle an, wird der Default 0 auch gesetzt.
          Es gibt immer ein Problem, wenn wir mit unserer ERP-Software einen Datensatz anfügen möchten, dann wird der Default nicht gesetzt und es kommt zu einer Fehlermeldung von der BDE.
          Ein Neustart des Rechners ändert an der Situation nichts.
          Ein Neustart von Firebird hingegen schon. Dann habe ich aber wieder ca 3-4 Datenbankabbrüche.
          Gruß
          Rolf

          Comment


          • #6
            Hallo Rolf,

            ich hab es mir angewöhnt, nach dem Hinzufügen eines NOT NULL Feldes in eine Tabelle mit Daten, ein explizites UPDATE auf dieses Feld in der Form UPDATE MYTABLE SET MYFIELD = 0 zu machen.

            Es gab einmal das Problem, dass nach dem Hinzufügen eines NOT NULL Feldes mit einem DEFAULT (z.B. 0), die Ergebnismenge bei folgender Abfrage leer war:
            Code:
            select * from mytable where mynotnullfield = 0
            Probier das mal auf Deiner FB 1.5.0 Version aus. Wenn möglich, sollte auch auf FB 1.5.4 aktualisiert werden. Es wurden eine Menge an Bugs seit 1.5.0 beseitigt!

            Thomas
            Thomas Steinmaurer

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

            Comment


            • #7
              Hallo Thomas,
              ich werde das mit dem Update das nächste mal machen.
              Viel mehr verspreche ich mir aber von einem generellen Update von Firebird, wenn da viele Bugs behoben wurden.
              Vielen Dank
              Rolf

              Comment


              • #8
                Es wäre dann ein Update auf die aktuellste Version 2.0.1 zu überlegen

                Comment


                • #9
                  Ja ist aber vom unserem ERP Softwarehersteller noch nicht freigegeben worden.

                  Comment


                  • #10
                    Ich würde es einfach mal Testen. wenn die Anwendung sauber programmiert ist, sollte es funktionieren.

                    Comment

                    Working...
                    X