Announcement

Collapse
No announcement yet.

IB > Firebird

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

  • IB > Firebird

    Kann man eine DB die von Interbase ohne Probleme in Firebrid verwenden oder giebt es irgendwelche Probleme und gehen dann auch noch die IBx Komponenten von Delphi

  • #2
    Hallo Frank,<br><br>
    von welcher InterBase Version sprichst Du? Ist es InterBase 6.0.x, dann sollte es keine Probleme geben, allerdings solltest Du eine Sache wissen, nämlich dass Firebird in einer Dialect 3 Datenbank nun <b>Ambiguous Queries</b> zurückweist. z.B. die folgende Abfrage ist in InterBase 6.0.x erlaubt, da die Abfrage allerdings eine falsche Ergebnismenge zurückliefern kann, unterbietet Firebird nun so eine Abfrage:
    <pre>
    SELECT A.FIELDA, B.FIELDA
    FROM A JOIN B
    ON FIELDX = FIELDY
    WHERE FIELDA="99"
    ORDER BY FIELDA
    </pre>
    Bevor Du mit einer Migration von InterBase nach Firebird beginnst, schau unbedingt in die Firebird v1.0 Release Notes rein!<br><br>
    Über die Zukunft von IBX mit Firebird wurde schon SEHR VIEL geschrieben, und ich denke, dass Du in diesem Forum auch fündig wirst. Kurz zusammengefaßt bedeutet dies, dass es für Firebird und IBX <b>keine</b> Zukunft gibt, da von Anfang an von Jeff O. (dem Autor von IBX) klar gesagt wurde, dass keine Anstrengungen unternommen werden, um Firebird zu unterstützen. AFAIK, IBX funktioniert mit Firebird 1.0 und soviel ich weiß auch mit Firebird 1.5, allerdings bin ich darüber froh mir deswegen nicht mehr den Kopf darüber zerbrechen zu müssen. Ich bin vor ca. 2 Jahren auf IBObjects umgestiegen. Gut, es war ein hartes Stück Arbeit, aber ich hab die Entscheidung nie bereut.
    <br><br>
    Gruss,<br>
    Thoma
    Thomas Steinmaurer

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

    Comment


    • #3
      Also ich Nutze Interbase 6.01 Opensource Version mit Delphi 5 Pro SP3 mit IBX werde IBObjects mal teste

      Comment


      • #4
        Hallo Frank,

        die IBX (7.05) funktionieren mit der FB 1.5 RC 4. Allerdings werde ich im kommenden Jahr auch umsteigen, vermutlich auf FIBPlus.

        Grüße
        Wolfgan

        Comment


        • #5
          Und? Schon umgestiegen? Der Thread ist ja schon eine Weile her...

          Wenn ja, würde mich interessieren, wie die Erfahrungen mit FIBPlus sind und warum IBObjects nicht in Frage kam, von dem ja einige andere hier so begeistert sind. Ich kenne beides noch nicht und würde mich gern belehren lassen.

          Gruß,
          Stefa

          Comment


          • #6
            Hi Stefan,

            nein ich bin immer noch bei den IBX, da diese auch mit dem Final Release 1.5 gut zusammenarbeiten.

            Ich habe mich gegen IBObjects entschieden, weil mir bisher niemand sagen konnte, wie ich eine normale TDataSource an die Datenbankkomponenten von IBObjects anschließen kann. Hintergrund: Ohne TDataSource verliere ich alle Komponenten die nicht direkt auf die IBObjects zugreifen können. Die visuellen DB-Komponenten von IBObjects sprechen zwar für sich, doch gleichzeitig verliert man dadurch die Unabhängigkeit und Flexibilität.

            Inzwischen habe ich zudem noch einen weiteren Vertreter gefunden: UIB
            http://www.progdigy.com/UIB/
            zwar bieten diese bei weitem noch nicht den Funktionsumfang der IBX, können aber auf alle möglichen Interbase-Varianten (IB, FB) und in sehr vielen IDE's (Delphi, Kylix, FreePascal, C-Builder) eingesetzt werden.
            Verwendet man dann noch Objekte für den Datenbankzugriff (wie von Holger Klemt beschrieben: http://www.h-k.de/oop/artikel_oop.zip) dann spielen die Nachteile der UIB keine Rolle mehr.

            Ich verwende die UIB in einigen kleinen Tools und konnte bisher noch keine Probleme feststellen.

            Von einem Umstieg werde ich aber kurzfristig auf alle Fälle absehen. Bis zur Version 2 von Firebird wird es sicherlich noch ne weile dauern. Wenn die ersten RC dann erscheinen, werde ich mich dann wieder nach Alternativen umschauen.

            In der Zwischenzeit werde ich für neue Module/Appl versuchen einen etwas veränderten Ansatz von ob aufgeführten Artikel von HK bei meinen Programmen anzuwenden um im Falle eines Umstieges die Arbeit zu begrenzen.

            Grüße
            Wolfgan

            Comment


            • #7
              Hallo,

              OK. Ich baue meine Anwendung sowieso komplett um fürs nächste Major Upgrade, insofern ist die Kompatibilität oder Verwendbarkeit mit TDataset nicht maßgeblich.

              Ansonsten geht's mir vor allem um gute Performance, weil ich mit ziemlich umfangreichen Datensätzen jonglieren muss und mit etlichen Nebentabellen, in denen dann Bezeichner nachgeschlagen werden etc. Und ich hörte, dass in puncto Performance die kostenfreien Alternativen immer etwas hinterherhinken würden; kann ich aber aus eigener Erfahrung noch nicht beurteilen.

              Bis jetzt finde ich IBO ganz gut (auch wenn ich gerade vergeblich nach einer Möglichkeit suche, die Spaltenreihenfolge im IB_Grid zu ändern und zu speichern ... muss doch noch anders gehen als sie in der zugrundeliegenden Query umzustellen!?).

              Gruß,

              Stefa

              Comment


              • #8
                Stefan,

                schau dir doch mal IB_Grid.GridLinks an. Hier kannst du nicht nur steuern, welche der Spalten aus der Query sichtbar sein sollen, sondern u.a. auch die Breite und die Position

                Floria

                Comment


                • #9
                  OK, sieht aus, als wäre ich ziemlich blind gewesen. Aber die IBO können einen ja auch erschlagen, jede hat mindestens 100 Properties und die meisten davon sind IB_Stringlists, deren Syntax man sich auch erst mal immer wieder neu aneignen muss ...

                  Na ja, ich denke, wenn man erst mal eine gewisse Routine hat, kann man eine Menge toller Sachen damit machen. Aber bis dahin ist es ein langer, steiniger Weg.

                  Jedenfalls vielen Dank,

                  Stefa

                  Comment


                  • #10
                    Hallo Florian,

                    ist jetzt zwar ein bisschen Off-Topic, aber für die eine Nachfrage noch einen neuen Thread anzufangen, ist wohl auch nicht das Wahre ...

                    Problem bei deinem Tipp: Wie lese ich denn - um sie zu speichern - die tatsächliche Spaltenbreite eines Gridfields aus? Wenn der Nutzer sie mit der Maus verändert (ColResize=True), dann ändert sich Gridlinks nicht und Gridfields[].DisplayWidth auch nicht, und es gibt auch kein OnColResize-Event. Und ein TIB_Column hat auch keine Width-Property. Aber irgendwie muss doch dranzukommen sein!?

                    Gruß und danke,
                    Stefa

                    Comment


                    • #11
                      Hallo Stefan,<br>
                      <br>
                      Grid.GridLinks.Text ändert sich.<br>
                      Mach dir mal einen Button auf deine Form, der dieses Property ausliest und als MessageBox anzeigt. Dann verändere die Spaltenbreite des Grids und klick den Button.<br>
                      Das Event, das beim Ändern der Spaltenbreite gefeuert werden sollte, ist OnLayoutChange der zugrunde liegenden Query.<br>
                      Allerdings habe ich das grade mal bei mir probiert, der Event feuert nicht, wenn ich die Spaltenbreite verändere...<br>
                      <br>
                      Floria

                      Comment


                      • #12
                        Stimmt, jetzt klappt's. Danke.

                        Stefa

                        Comment

                        Working...
                        X