Announcement

Collapse
No announcement yet.

Interbase 6, ibobjects ja oder nein ?

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

  • Interbase 6, ibobjects ja oder nein ?

    Ich verstehe diese Werbung für Microsoft nun wirklich nicht ! Wenn man von Andreas Kosch die Bücher gelesen hat über Datenbankentwicklung mit Delphi Client/Server usw. oder in Der Entwickler 1/200 den Artikel MS Freizügig, Delphi 5 und die MSDE (leider funktionierten bei mir die Zugriffe auf den Server nicht, weil alles auf localhost programmiert wurde), dann fragt man sich wirklich, wieso ein OpenSource Produkt gegen ein kommerzielles Produkt fallengelassen werden muß. Sicher ist es immer eine schwierige Entscheidung und sollte sich an den Zielen orientieren, aber InterBase ist doch gerade hierfür die allerbeste Wahl, oder nun auf einmnal nicht mehr ? Ehrlich gesagt, ich verstehe das hier wirklich nicht mehr. Vielleicht kann mich mal einer aufklären ? Vielen Dank erstmal und liebe Gruesse an Euch Entwickler im Forum

  • #2
    Interbase 6, ibobjects ja oder nein ?

    Hallo,

    ich verwende derzeit Interbase 5.6 und Delphi 5 Enterprise (Update 1).

    Welche Erfahrungen liegen mit <b>Interbase 6</b> vor ?

    Stimmt es, dass Interbase 6 viele Fehler aufweist ? Wer ist für die Fehlerbehebung zuständig. Wird Interbase 6 überhaupt noch weiter gepflegt ?

    Wie verhält es sich mit der zulässigen Anzahl User ? Sind diese lizensiert und begrenzt, wie bei Interbase 5.6 ?

    Ich glaube, dass Interbase 5.6 eine stabile Datenbank ist und man sich mit Interbase 6 auf schlüpfriges Parkett bewegt, wobei man mit Fehlern allein dasteht ?

    Auf was muss ich bei der Installation achten ? Ich verwende Windows-2000 Professional, Server und Workstations.

    Anderes Thema:

    Ich verwende derzeit nur die BDE. Ist es sinnvoll, auf die <b>Interbase Express</b> Komponenten umzusteigen, oder handelt man sich dort nur neue Unzulänglichkeiten und Inkompatibilitäten ein ?

    Kann man die BDE und Interbase Express gleichzeitig, je nach Bedarf "parallel" verwenden ?

    Es gibt auch <b>ibobjects</b> von Jason Wharton. Aber in der Mailbox ist es sehr still geworden seit Delphi 5 erschienen ist. Ist es noch sinnvoll ibobjects zu erwerben ? Ich habe gehört, dass die letzte Version sehr langsam ist ?

    Hat jemand Erfahrung mit der gleichzeitigen Verwendung der Datenbankkomponenten von Delphi 5 und ibobjects ?

    Gruss

    Helmut

    Comment


    • #3
      Hallo,

      zum Thema InterBase 6: <br>
      Der InterBase 6 ist - wie seine Vorgänger auch - kein absolult fehlerfreies Produkt. In den <i>Release Notes</i> ist eine Liste der gravierendsten Bugs zu finden, wobei die meisten davon seit der Version 5.1 vorhanden sind. Somit spricht nichts <b>gegen</b> den Einsatz der 6er-Version, zumal hier durchaus sehr nützliche Sachen hinzugekommen sind (64-Bit-INTEGER; Erweiterungen bei ALTER TABLE/ALTER DOMAIN usw.). Allerdings sind zur Zeit <b>nur</b> die Kommandozeilen-Tools wirklich brauchbar, aber <b>nicht</b> das GUI-Tool <i>IBConsole</i>. <br>
      Der InterBase 6 wird als OPEN SOURCE weiterentwickelt, solange sich genug Entwickler dazu bereiterklären. Borland hat angekündigt, von Zeit zu Zeit eine "geprüfte" Version auf CDROM zur Verfügung zu stellen, die allerdings kostenpflichtig sein wird. <br>
      Leider gibt es bereits jetzt zwei konkurrierende OPEN SOURCE-Entwicklungen für den InterBase 6, da sich neben dem "offiziellen" Borland-Projekt auch noch eine "Rebellentruppe" (IBPhoenix) abgespaltet hat. Im schlimmsten Fall tauchen demnächst nicht mehr kompatible InterBase-Versionen auf :-(

      zur Frage IBX: <br>
      Die IBX-Komponenten sind offiziell immer noch im Beta-Stadium und somit von einer Reihe gravierender Bugs geplagt. Das reicht von falschen Rückgabewerten bei einer SELECT-Abfrage bis hin zum Verlust von Zeichen beim Umkopieren von Daten. Man kann IBX einsetzen, muss dann aber alles (!) doppelt nachprüfen. <br>
      Außerdem erscheint zur Zeit fast jeden Monat eine neue IBX-Version, so dass auch nach dem UpdatePack#1 für Delphi 5 die IBX-Komponenten ständig aktualisiert werden müssen (siehe CodeCentral). <br>
      Rein technisch gesehen kann man IBX- und BDE-Komponenten parallel einsetzen, allerdings als jeweils getrennte Datenbank-Session und somit unter getrennter Transaktionsverwaltung.

      zur Frage IBObjects: <br>
      Die IBO-Komponenten stellen die stabilste Komponentensammlung dar, die für den InterBase zu erhalten ist. Da IBO sowohl BDE-Kompatibilitätskomponenten als auch reinrassige IBO-Komponenten bereitstellt, macht hier ein Paralleleinsatz keinen Sinn. Die BDE-Komponenten können sehr einfach durch ihre IBO-Gegenstücke ausgetauscht werden. Allerdings wird man mit jeden Komponenten (BDE, IBX, IBO) langsame Anwendungen schreiben, wenn man sich nicht an die C/S-Regeln hält

      Comment


      • #4
        Hallo,

        ich habe zu der Antwort vom 09.10.2000 folgende Fragen :

        1. Wenn ich IB6 benutze und nicht die IBConsole, kann ich mit dem Server-Manager ein Backup und REstore durchführen, wobei dies beim potentiellen Kunden nicht von einem "EDV-Mensch" durchgeführt wird.
        2. Da ich in meinem Programm (programmiert mit Delphi5 Enterprise und Interbase 5.5) nur mit IBX arbeite,hoffe ich dass deine Aussage nur für IB6 gilt, oder ?
        3. Was muss der Kunde an Lizenzen für Interbase kaufen, wenn ich das Programm mit voraussichtlich 5 Usern installiere.

        Danke im voraus

        Fran Kraus

        Comment


        • #5
          Hallo,

          zur Frage 1: <br>
          Das Backup würde ich zeitgesteuert (AT-Anweisung von NT etc.) über das InterBase-Tool <b>gbak.exe</b> durchführen. Da alle Aufrufe in eine BAT-Datei untergebracht werden können, ist das für den Kunden vor Ort völlig transparent (er muss sich nicht darum kümmern).

          zur Frage 2: <br>
          Nein - die Fehler in den IBX-Komponenten treten in allen InterBase-Versionen auf (da diese ihre Ursache im IBX-Fundament haben). Auf der IBX-Session der diesjährigen Entwickler-Konferenz habe ich die drei aus meiner Sicht gravierendsten Bugs am praktischen Beispiel (IBX 4.2) vorgestellt. Jeder dieser Bugs macht sich in einem bestimmten Einsatzfall bemerkbar, wobei die meisten davon nur durch das penible Nachprüfen des Ergebnisses entdeckt werden können (IBX löst keine Exception bzw. eine sonstige Fehlermeldung aus, wenn falsche oder verstümmelte Daten entstehen). Man sollte daher von Hand mindestens einmal alle im eigenen Programm abgesetzten Anweisungen über den <i>SQL-Explorer</i> bzw. <i>WISQL</i> nachprüfen, ob das von IBX zurückgelieferte Ergebnis im konkreten Einsatzfall korrekt ist. Besondere Aufmerksamkeit erfordern dabei alle SELECT-Abfragen, die einen NULL-Wert zurückliefern können.

          zur Frage 3: <br>
          Wenn noch der InterBase 5.x verwendet werden soll, ist der Wechsel zur Version 5.6 sehr zu empfehlen! Bei den 5.x-Versionen hat sich das Lizenzmodell nicht geändert, diese Version ist wie gehabt kostenpflichtig. <br>
          Beim InterBase 6 entstehen keine Kosten mehr

          Comment


          • #6
            Hallo,

            eine kleine Anmerkung zu IBConsole. Es gibt auf der Borland - Seite ein Update (siehe Diskussion "Keine Verbindung zur Datenbank unter IB6 (final Release) über IBConsole möglich!")

            ). Seit ich dieses Update habe, habe ich auch keine Probleme mehr mit der IBConsole.

            Auf WWW.interbase.com kann man sich ausserdem die FreeIBComponents runterladen. Mit selbigen kann man ebenfalls direkt auf den IB zugreifen

            Comment


            • #7
              Hallo,

              auch mit der brandaktuellen Version <b>1.0.0.320</b> vom 02.10.2000 hat die IBConsole noch so viele Macken, das ich keine wichtigen Daten mit diesem Tool sichern, wiederherstellen oder konfigurieren würde ;-)<br>
              Seit der Auslieferung gab es über ein Dutzend neue Versionen der IBConsole, die über CodeCentral heruntergeladen werden können.

              Die IBX-Komponenten stammen von FreeIBComponents ab, wobei Borland dies im Kommentarblock der IBX-Units dokumentiert:
              <pre>
              {************************************************* *******}
              { }
              { Borland Delphi Visual Component Library }
              { InterBase Express core components }
              { }
              { Copyright (c) 1998-2000 Inprise Corporation }
              { }
              { InterBase Express is based in part on the product }
              { Free IB Components, written by Gregory H. Deatz for }
              { Hoagland, Longo, Moran, Dunst & Doukas Company. }
              { Free IB Components is used under license. }
              { }
              {************************************************* *******}
              </pre&gt

              Comment


              • #8
                Hallo,

                ich habe gehört, dass die derzeitige BDE (D5 Enterprise) die neuen Funktionen von Interbase 6 <b>überhaupt nicht unterstützt</b> (angeblich nur Dialekt 1 = Interbase 5.6) und dass man auf ein Update warten muss. Welches Update, in welcher Compilerversion ??

                Was hat es dann für einen Sinn, auf Interbase 6 umzusteigen, wenn man die neuen Funktionen nur in den (fehlerhaften) Interbase Express Komponenten nutzen kann ? Oder kann man hier auch nicht ?

                Gibt es Entwickler, welche <b>Interbase 6 und IBObjects</b> in der letzten Version einsetzen ? Ich ersuche um Meldungen. Ich erhoffe mir von einem Echo eine entsprechende Entscheidungshilfe.

                Gruss

                Helmu

                Comment


                • #9
                  Hallo,

                  meines Wissens nach wird es keine Updates der BDE mehr geben (wenn ich die Veröffentlichungen von Borland richtig in Erinnerung habe), so dass die BDE beim InterBase 6 nur die DIALECT 1-Datenbanken (also nur die 5.6-Fähigkeiten) unterstützen wird.

                  Für <i>Kylix</i> (Delphi für Linux) und für <i>Delphi 6</i> (für Windows) hat Borland mit <b>dbExpress</b> eine völlig neue Komponentensammlung angekündigt, die bereits in der ersten Version eine Anbindung an den InterBase ermöglicht. Dies wäre neben IBX und IBO dann die dritte Alternative, wenn ein Umstieg auf die neue Klassenbibliothek CLX in Frage kommt.

                  Mit IBX stehen nicht alle Funktionen des InterBase 6 zur Verfügung, aber dies gilt meines Wissens für jede der Alternativen. Man muss hier im Einzelfall abwägen, ob die volle Unterstützung wirklich im eigenen Projekt unbedingt notwendig ist. Und was die Bugs angeht, ist das zwar sehr ärgerlich, aber ebenfalls eine Frage der Abwägung von Aufwand und Nutzen (bei entsprechender Vorsicht lassen sich alle Untiefen umschiffen)

                  Comment


                  • #10
                    Es ist aber trotzdem schon gerüchteweise durchgeklungen, das mit delphi 6 die bde doch noch eine Erweiterung bekommt und zwar ib6 dialect 3 Unterstützung.

                    Es gibt übrigens als Alternative auch die FIB+ Komponenten (Weiterentwicklung eines Russischen Programmierers auf Basis FreeIBComponents, Adresse hab ich gerade nicht). Die IBConsole ist im Moment wirklich noch mit Vorsicht zu genießen.

                    Zum Thema IBObjects: Wir arbeiten im Moment daran, einen Workshop mit Jason Wharton in Deutschland durchzuführen. Je mehr Leute teilnehmen, um so preiswerter können wir den anbieten. Jason ist der Programmierer der IBObjects und hat schon seine Zustimmung gegeben, jetzt suchen wir noch einen Termin.

                    Das beste kommt noch: Wahrscheinlich wird jeder Teilnehmer eine vollständige IBObjects Lizenz (Full Source) im Wert von 395 US$ von jason bekommen.

                    Das ganze soll 2 Tage dauern und wahrscheinlich Ende Januar in Frankfurt stattfinden. Wer Interesse hat, kann eine EMail an
                    [email protected] senden der deutschen InterBase User Group www.dibug.de in der Newsletter eintragen lassen

                    Comment


                    • #11
                      Hallo, ich geb auch mal meinen Senf dazu:<br>
                      IBObjects ist absolut nicht langsam, sondern eher das schnellste, was es an daten-sensitiven komponenten überhaupt gibt. Vor allem, wenn man mit grossen tabellen arbeitet, zahlt sich die Architektur von IBO aus. Da IBO mit einer speziellen Buffering-methode arbeitet, kann man auch sehr gut mit grossen Result-sets umgehen (ein last-command auf 100k zeilen in ein paar sekunden). <br>
                      IBO ist auch in der letzten version nicht langsamer geworden (das ist definitiv ein gerücht), unterstützt jetzt aber auch cached updates voll. Zu den Performance-Vorteilen von IBO (wesentlich schneller als IBX in allen bereichen) kommen noch viele goodies, wie das arbeiten mit Generatoren, ohne refreshes beim insert von datensätzen machen zu müssen und die Nativen Komponenten, die es ermöglichen, GUI´s zu erstellen, die man sonst nur mit (noch teureren) third-parties wie InfoPower hinbekommt.<br> So hat man z.B. einen IB_Grid, der automatisch Ordering-Links unterstützt (also klick auf den header und die Tabelle wird umsortiert) oder vollautomatische QBE-ähnliche Suchfunktionen in den Datensensitiven Komponenten eingebaut. <br>
                      Ich benutze IBO jetzt seit einem Jahr, und muss zugeben, dass ich fast nicht mehr weiss, wie man mit den Standard-VCL DB-Komponenten arbeitet (man ist ja sooo verwöhnt mit der Zeit).<br>
                      Allerdings sollte man sich, wenn man mit IBO arbeiten will, einige Zeit nehmen, um sich da reinzuarbeiten, da der IBO-Weg oftmals gänzlich anders ist als der normale weg...<br>
                      Ach so, irgendwo in der IBO-Hilfe steht, dass man sich eine Connection zu Interbase auch mit der BDE teilen kann. ich habs noch nicht ausprobiert, das es schon fast schwachsinnig ist, die BDE für InterBase zu benutzen (dann doch lieber IBX, trotz aller Bugs).<br>
                      Abschliessend noch einige Beobachtungen. Rein theoretisch ist IBO nicht viel schneller als IBX was das öffnen von Tabellen oder von Connections angeht, doch in einer visuellen umgebung wirst du meistens Leistungssteigerungen zwqischen Faktor 2 und 20 bekommen. Ausserdem werden die meisten anwendungen wesentlich weniger Code benötigen.<br>
                      CU, Nic

                      Comment


                      • #12
                        Hallo,

                        ich war im Frühjahr auf den Entwickertagen in Frankfurt und war in deinem Seminar über den Interbase.<br>
                        Bei uns stehen jetzt für einige Kunden Umstellungen an (von Paradox auf SQL-Server)und bis jetzt dachten wir, dass Interbase mit D5 und IBX eine geeignete Möglchkeit wäre.<br>

                        Jetzt lese ich, daß es mit der BDE nicht mehr weitergeht, IBX fehlerhaft ist und das es auch noch die IBObjects gibt.<br>

                        Wie sind eigentlich eure Erfahrungen, kann man mit IB arbeiten oder ist es sinnvoller, doch gleich MS-Sql 7 oder Oracle zu benutzen

                        Comment


                        • #13
                          Hallo,

                          schwierige Frage, deren Antwort von geplanten Einsatzfall abhängt. Wenn man damit rechnen muss, mittelfristig auf die Three-tier-Architektur zu wechseln (Stichwort Telearbeitsplätze, zentrale Datenbank für mehrere Standorte, Anbindung ans Internet etc.) und die Three-tier-Objekte unter Windows NT/2000 laufen sollen, ist man auf einen funktionierenden <i>OLE DB-Provider</i> angewiesen. Für den InterBase gibt es keinen (auch wenn Jason Wharton seit einem Jahr einen angekündigt hat) - für den MS SQL Server 7 und für ORACLE schon. Wenn man dann liest, dass sich der Microsoft SQL Server in Bezug auf Performance nicht mehr hinter ORACLE verstecken muss, sondern sogar in Führung liegt (http://www.tpc.org/new_result/ttperf.idc), würde ich in diesem Einsatzfall zum SQL Server 7 greifen - zumal der SQL Server 7 mittlerweile vom Umfang der SQL-Sprache inkl. eigener Erweiterungen weit vor dem InterBase liegt (Stichwort temp. Tabellen, Aufrufe von Betriebssystemfunktionen, Aufrufe von COM-Objekten etc.). In diesem Fall ist ADO die erste Wahl des Zugriffsweges.

                          Reicht es aus, wenn der SQL Server eine Nummer kleiner sein kann, kann man den InterBase verwenden (zumal er mit seiner Multigenerationenarchitektur Vorteile hat). Mittlerweise taucht immer wieder das Gerücht auf, dass Borland für Delphi 6 die BDE an DIALECT 3-Datenbanken des InterBase 6 anpasst. In diesem Fall würde dann immer noch die verlässliche BDE zusätzlich zu IBX und IBO zur Verfügung stehen. <br>
                          Schaut man sich die <i>Release Notes</i> an (PDF-Datei), die zusammen mit dem InterBase 6 ausgeliefert werden, tauchen dort als offizielle Bugs immer noch die Macken auf, die auch in der 5.x-Version vorhanden waren. Auch die 6er-Version hat ernsthafte Problem beim Zugriff auf Datenbanken übers WAN (ISDN-Router, die zwischendurch auflegen), so dass ich in dieser Konfiguration den InterBase <b>nicht</b> verwenden würde. Spielt sich jedoch alles im eigenen LAN ab, arbeitet der InterBase stabil.
                          &#10

                          Comment


                          • #14
                            Hallo,

                            das grundlegende Problem liegt darin, dass sich die realen Anforderungen in der heutigen Zeit geändert haben. Während sich bei einer klassischen C/S-Lösung im LAN nichts geändert hat und dort der InterBase immer noch die Anforderungen erfüllt, sieht es im Bereich der skalierbaren WAN- und Intranet/Internet-Anwendungen leider anders aus. Gerade wenn man mit der C/S-Architektur über das WAN auf eine InterBase-Datenbank zugreift und keine Standleitung, sondern ein ISDN-Router dazwischenliegt, hat man ständig mit Verbindungsabbrüchen und "hängenden" Transaktionen zu tun. Und bei den Three-tier-Architekturen bzw. Web-Anwendungen kann man die mittlerweile vom Betriebssystem angebotenen Systeme (Datenbankverbindungs-Pool, Thread-Pool, COM+ Roles etc.) nicht voll nutzen, weil es keinen OLE DB-Provider gibt. Man könnte zwar das alles selber schreiben - aber effektiv ist das nicht.

                            P.S: Bei aller Liebe zu einem Produkt, man sollte als Entwickler die Situation dennoch immer realistisch einschätzen ;-

                            Comment

                            Working...
                            X