Announcement

Collapse
No announcement yet.

Suche InterBaseSS_LI Version 6.0.1.6

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

  • Suche InterBaseSS_LI Version 6.0.1.6

    Hallo liebe Entwicklerforum-Gemeinde,

    ich habe eine Datenbank-Anwendung erstellt mit Delphi 6 und IBX und InterBase SuperServer auf einem SuSE-Linux-Server.
    Im Betrieb traten dann vermehrt Verbíndungsprobleme auf.
    In einigen Threads las ich, dass es sehr auf die Version der Komponenten ankommt.

    Ich konnte feststellen, dass ich Als server die Version 6.0.1.0 installiert hatte und die gds32.dll auf den Windows-Clients (XP und 2000) die Version 6.0.2.0 war.
    Also habe ich eine gds32.dll mit Version 6.0.1.6 aufgetrieben und diese installiert, um wenigstens näher dran zu kommen.
    Das war wunderbar! Zwei Wochen lang keine Probleme.
    Doch jetzt geht es wieder los. Und es wird immer schlimmer. Kann ich mir eigentlich nicht erklären.

    Nun würde ich gerne die Gepriesene Server-Version 6.0.1.6 installieren, habe aber nur eine von der Kylix2-CD, und die ist User-limitiert!! Habe ich nach einer Probe-Inst. bemerkt.

    Kann mir jemand sagen, woher ich die 6.0.1.6 kriegen kann? Die Links in den alten Posts ex. nicht mehr.
    Oder kann sie mir jemand per E-Mail schicken? --> [email protected] ist meine Adresse. Den Superserver für Linux, am liebsten als rpm-Version.

    Oder hat jemand eine andere Idee, wie ich meine Probleme beseitigen kann?

    Vielen Dank schon mal und viele Grüße
    Holger

  • #2
    Hallo Holger,

    ich würde ernsthaft einen Umstieg auf Firebird in Betracht ziehen. InterBase 6.0 ist ein totes Pferd, das in der frei verfügbaren Variante nicht mehr weiterentwickelt wird.

    Der sanfteste Migrationsweg in Hinblick auf Kompatibiliätsprobleme von InterBase 6.0 auf Firebird wäre zunächst einmal ein Umstieg auf Firebird 1.0. Mit nur einem geringeren "Mehrrisiko" kann man auch gleich auf Firebird 1.5 umstellen. Es kann sein, dass dann vielleicht das eine oder andere SQL-Statement in Verbindung mit ORDER BY / GROUP BY nicht mehr läuft, aber solche Anweisungen gehören so wie so gefixt, weil es in InterBase 6 u. Firebird 1.0 zu falschen Ergebnismengen kommen könnte.

    Ein direkter Umstieg auf Firebird 2.0 würde ich noch als zu steil ansehen (obwohl gegen einen Versuch nichts dagegenspricht).

    Wichtig ist, dass Du Dir die Release Notes der Firebird Releases reinziehst.

    Thomas
    www.upscene.com
    Thomas Steinmaurer

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

    Comment


    • #3
      Hallo Thomas,
      vielen Dank für deine Antwort!
      Ich denke schon seit längerem über einen Umstieg auf Firebird nach, traue mich aber noch nicht so ganz. Das Buch von Helen Borrie habe ich auch schon und Tipps in einigen Threads hier gelesen, auch von dir.
      Dann werde ich mir mal die Release Notes ansehen und die Sache angehen. Auf einem Test-Server.

      Welche Literatur oder Tutorials zu dem Thema gibt es noch? Etwas in Deutsch wäre auch nicht schlecht.

      Trotzdem würde ich gern für die Übergangszeit den InterBase-Server 6.0.1.6 installieren, weil meine User etwas erbost sind über die vermehrten Verbindungsfehler, und damit ich den Umstieg mit der nötigen Sorgfalt vornehmen kann.
      Wenn also jemand einen Tipp hat, woher ich ihn bekommen kann ...

      Viele Grüße
      Holger

      Comment


      • #4
        Hallo Holger,

        bzgl. Literatur in Deutsch:
        - Release Notes für 1.5: http://www.ibphoenix.com/downloads/r...09_deutsch.pdf
        - Schnellanleitung für 2.0 (viele Dinge sind genereller Natur und daher auch auf 1.0 und 1.5 anwendbar): http://www.firebirdsql.org/pdfmanual...lanleitung.pdf
        - Stefan Heymann's Administrations Handbuch für 1.5: http://www.consic.de/de/download/fir...n-handbuch.pdf

        Für Linux ist InterBase 6.0.2.0 hier verfügbar: http://mers.com/

        Nochmal: Bevor Du Dir InterBase 6.0.2.0 unter Linux von mers.com installierst, würde ich gleich Firebird 1.0/1.5/2.0 verwenden. Migration sollte relativ einfach sein. Für 1.5 exemplarisch wie folgt:
        - Backup mit gbak der Datenbank(en) mit InterBase 6 mit dem jeweilgen DB-Eigentümer
        - Backup mit gbak der isc4.gdb mit InterBase 6
        - Sichern etwaiger UDF-Bibliotheken
        - Deinstallieren von InterBase 6
        - Manuelles überprüfen, ob noch alte gds32.dll Dateileichen herumliegen. Gegebenfalls manuell löschen
        - Installieren von Firebird 1.5
        - Restore mit gbak der in Schritt 2 gesicherten isc4.gdb unter einem temp. Namen z.B. "security_tmp.fdb"
        - Firebird Server Prozess stoppen
        - Existierende security.fdb umbenennen auf z.B. "security_orig.fdb"
        - "security_tmp.fdb" auf "security.fdb" umbenennen und ins Firebird-Root-Verzeichnis geben. Somit hast Du die Benutzer Deiner InterBase 6 Installation wieder
        - Firebird Server Prozess starten
        - UDF-Bibliotheken ins \UDF Unterverzeichnis geben
        - Restore mit gbak Deiner Datenbanken unter Verwendung des Datenbankeigentümers, mit dem Deine IB Datenbanken damals erstellt wurden.

        Jetzt kann es mit Anwendungstests losgehen. Wichtig ist zu wissen, dass die Clientbibliothek in Firebird >= 1.5 von gds32.dll auf fbclient.dll umbenannt wurde. Mit dem instclient Tool kann man sich aber eine gds32.dll für Firebird >= 1.5 ins Systemverzeichnis installieren lassen. Viele (ältere) Anwendungen erwarten noch eine gds32.dll anstatt der fbclient.dll. Nicht aber fbclient.dll einfach umbenennen, sondern das erwähnte instclient Tool verwenden.

        Das und vieles andere steht wie gesagt in den Release Notes drinnen. Für 1.5 auch in Deutsch verfügbar.

        Ich hoffe das hilft Dir weiter. Sag uns wie es Dir damit ergangen ist. Entweder hier oder per Email an "ts AT iblogmanager.com".


        Thomas
        Thomas Steinmaurer

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

        Comment


        • #5
          Vielen, vielen Dank Thomas,

          ich habe jetzt alle Anleitungen und Inst.Dateien zusammen und werde mich dann mal an die Arbeit machen.
          Insbesondere wird mir deine detailierte Migrationsanleitung helfen.
          Den Entwickler 2/2005 mit deinem Artikel über die Version 1.5 habe ich hier noch liegen. Damit werde ich mal anfangen.

          Ich melde dann den Stand der Dinge.

          Bis dann
          Holger

          Comment


          • #6
            Hallo Thomas,

            noch eine Frage:
            was meintest du mit den Problemen mit ORDER BY?
            Das gibt es doch weiterhin bei Firebird, hab ich grad bei Helen Borrie gelesen.
            Was könnte denn da nicht mehr laufen?
            Und wodurch kann man diese Anweisung ersetzen?

            Bye
            Holger

            Comment


            • #7
              Hallo Holger,

              natürlich gibt es das ORDER BY noch. Was ich gemeint habe ist eine Kombination von ORDER BY mit GROUP BY. Folgende Abfrage:
              Code:
              select vorname, count(*) from kunde
              group by vorname
              order by nachname
              Diese Abfrage läuft nicht in Firebird 1.5 und höher nicht mehr, sondern es kommt die folgende Fehlermeldung
              Code:
              Dynamic SQL Error SQL error code = -104 Invalid expression in the ORDER BY clause (not contained in either an aggregate function or the GROUP BY clause)
              Wenn ich mich richtig erinnere, dann konnte man diese Anweisung in Firebird < 1.5 ausführen. Dies konnte jedoch zur Folge haben, dass man eine falsche Ergebnismenge zurückbekommt. In Firebird 1.5 und höher müssen die Felder in einem ORDER BY entweder auch im GROUP BY oder als Aggregat verwendet werden.

              Was in Firebird 1.0 hinzugekommen ist (und somit auch in 1.5 und 2.0), Abfragen mit nicht-eindeutigen Feldern, z.B. weil ein Join über 2 Tabellen erfolgt und in beiden Tabellen ein gleichlautendes Feld existiert, werden nun zurückgewiesen. Beispiel:
              Code:
              select id from t1 a join t2 b on (a.id = b.id)
              Unter der Annahme, dass beide Tabellen t1 und t2 ein Feld ID besitzen: Diese Anweisung wird seit Firebird 1.0 zurückgewiesen, weil das Feld ID in der Feldliste nicht eindeutig qualifiziert wird.

              Thomas
              Thomas Steinmaurer

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

              Comment


              • #8
                Hallo Thomas,

                danke, das beruhigt mich. Eine Kombination von ORDER BY und GROUP BY habe ich nicht dabei.

                Inzwischen habe ich auf einem Nebenserver Firebird 1.0.3 installiert, um mich an die Sache ranzutasten. Es gab zwar Fehlermeldungen, wie
                "cp -- missing destination file"
                und
                "firebird: unknown service"
                "firebird: not a runlevel service"
                und
                " /etc/inet.d/firebird no such file or directory ..."

                Trotzdem kann ich den Server starten und von einem Windows2000-Rechner per IBConsole ein Restore machen und auf die Daten zugreifen.
                Jetzt werde ich weiter testen und mich dann an die Version 1.5 machen.

                Noch eine Frage: wo finde ich das von dir beschriebene instclient Tool?

                Byebye und schönes Wochenende
                Holger

                Comment


                • #9
                  Hallo Holger,

                  - Wie bist Du bei der Installation von Firebird vorgegangen?
                  - Welche Linux-Distribution verwendest Du in welcher Version?

                  Das instclient Tool ist ein reines Windows-Tool und ist erst seit Firebird 1.5 dabei, da ab dieser Version Default-mäßig die Clientbibliothek fbclient.dll und nicht mehr gds32.dll lautet.

                  Wenn Du sagst, dass Du Dich von einem Windows 2000 Rechner zur Linux-DB verbinden kannst: Hast Du am Client auch den Firebird Client installiert? Generell ist zu sagen, dass sich die Clientbibliothek mit der Serverversion matchen soll.

                  Hast Du auch eigene UDFs im Einsatz? Wenn ja, dann benötigst Du für Linux compilierte Shared objects. Das ist eine kleine Falle. Die Datenbankdatei einer Firebird Datenbank ist portabel, allerdings können da einem UDFs einen Strich durch die Rechnung machen.

                  Thomas
                  Thomas Steinmaurer

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

                  Comment


                  • #10
                    Hallo Thomas,

                    bei der Installation habe ich zunächst die alte InterBase-Version deinstalliert mit "rpm -e" und dann Firebird installiert mit "rpm -i". Ganz einfach um mich erstmal ranzutasten.
                    Ich verwende SuSE SLES 9 auf dem Rechner.
                    Auf dem Rechner, auf dem InterBase jetzt läuft und wo dann Firebird drauf soll, werde ich in dem Zug wahrscheinlich auch ein neues Linux installieren. Welches das sein wird, habe ich noch nicht entschieden. Z. Zt. ist es SuSE 9.1.

                    Von dem Windows 2000-Rechner habe ich bisher nur mit der IBConsole auf Firebird zugegriffen, den Client habe ich noch nicht installiert.

                    UDFs sind bei mir nicht im Einsatz.

                    Leider werde ich heute und morgen nicht weitermachen können, weil ich einige Termine habe.

                    Viele Grüße
                    Holger

                    Comment


                    • #11
                      Hallo Thomas,

                      ich lebe noch.
                      Ich hatte viele Dinge zu tun und so kam ich nur langsam voran. Nun habe ich mich gründlich vorbereitet und jetzt Firebird 1.03 installiert. Sowohl den Server als auch auf allen Rechnern den Client.
                      Und es funktioniert!
                      Ich hatte die InterBase-Datei mit dem 6.0.1.6-gbak gesichert, dann Firebird installiert, dann mit dem Firebird gbak zurückgespielt.
                      Überall die gds32.dll kontrolliert, ist immer die richtige.

                      Dann habe ich noch die für's interne Netz zuständige Netzwerkkarte erneuert, weil bei Tests mein Proberechner einen schnelleren Zugriff erlaubte. Und siehe da, jetzt läuft alles schneller. Vielleicht war die NIC auch mit Schuld an den Verbindungsproblemen. Obwohl ein nebenher laufendes Multi-Ping nie ein Problem angezeigt hat.

                      Jedenfalls läuft's jetzt sehr gut und ich werde es beobachten.

                      Vielen Dank nochmal für deine Hilfe, darüber bin ich sehr froh.
                      Am Ende sehe ich, dass du völlig Recht hattest: der Umstieg ist problemlos. Nur wollte ich ganz sicher gehen.

                      Ich werde zu gegebener Zeit nochmal über die Stabilität berichten.
                      Und wenn ich mehr Zeit habe, steige ich in der Version höher auf 1.5 und 2.0.

                      Ich wünsche schöne Ostertage!

                      Bye
                      Holger

                      Comment


                      • #12
                        Hallo Holger,

                        freut mich, dass die Umstellung erfolgreich war! Bin schon gespannt, wenn etwas Zeit vergangen ist, wie Du mit Firebird zufrieden bist.

                        Auch Dir schöne Ostern.

                        Thomas
                        Thomas Steinmaurer

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

                        Comment


                        • #13
                          Warum bist du nicht gleich auf 2.01 (die letzte stabile Version) umgestiegen?

                          Comment


                          • #14
                            Weil ich eine komplexe Warenwirtschaft mit den IBX-Komponenten für Delphi geschrieben habe und nicht garantiert ist, dass diese zu Firebird 2.0 voll kompatibel sind. So hört man jedenfalls.
                            Bei einem Umstieg muss es bei mir aber sofort laufen.
                            Jetzt, wo ich mein erster Schritt geklappt hat, werde ich auf einem Probeserver weiter testen und mich bis auf 2.0 vortasten.

                            Für den Umstieg auf IBObjects oder FIBPlus muss ich mir noch die Zeit nehmen.

                            Oder hast du Erfahrungen mit IBX und Firebird 2.0 gemacht?

                            Comment


                            • #15
                              Oder hast du Erfahrungen mit IBX und Firebird 2.0 gemacht?
                              Nein, gabe nur Erfahrungen mit ZEOS und IBDAC

                              Comment

                              Working...
                              X