Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Welche Firebird-Version / welche Komponenten (https://www.delphipraxis.net/154036-welche-firebird-version-welche-komponenten.html)

fkerber 25. Aug 2010 15:17

Datenbank: FB • Version: 2.1 • Zugriff über: tja...

Welche Firebird-Version / welche Komponenten
 
Hi,

ich würde gerne ein kleine Kundenverwaltung mit Delphi schreiben. Diese soll kommerziell verwendbar sein, und wird von 3 Rechnern genutzt werden - sprich auf einem ist sie drauf, und von diesem und 2 anderen Rechnern wird darauf zugegriffen.

Bislang hab ich zwar schon mit Firebird gearbeitet, aber nur im Webbereich und nicht im Desktop-Bereich mit Delphi. Daher ergeben sich 2-3 Fragen:

*) Welche der Serverversionen ist die Richtige für mich (Classic vs. Super) bzw. wo sind die Unterschiede für die Praxis? Ich kenne zwar diese Tabelle http://www.firebirdsql.org/manual/de...-or-super.html - aber sie wollte mir nicht so richtig weiterhelfen :stupid:
*) Kommerzielle Nutzung ist ja mit beiden uneingeschränkt möglich?
*) Welche Zugriffskomponenten brauche ich? Komme ich mit dem aus, was mir D2007 bietet oder *muss* ich etwas anderes haben? Oder *sollte* ich mir etwas anderes holen?

Liebe Grüße,
Frederic

P.S.
Wenn man jemand eine begründete Alternative zu FB hat, bitte sehr, gerne ;)

DeddyH 25. Aug 2010 15:25

AW: Welche Firebird-Version / welche Komponenten
 
Hast Du den verlinkten Artikel auch bis zu Ende gelesen?
Zitat:

Falls Sie noch immer nicht sicher sind, welche Architektur Sie wählen sollen (vermutlich finden Sie diese technische Diskussion irreführend), dann verwenden Sie die folgende Faustregel:

* Unter Windows: Superserver.
* Unter Linux: Wählen Sie irgendeine Architektur. In den meisten Fällen werden Sie keinen Performanceunterschied merken.
Bei den Zugriffskomponenten scheiden sich die Geister. Wenn es etwas kosten darf: IBDAC oder FibPlus sollen sehr gut sein. Bei den kostenfreien Komponenten kann ich die aktuelle Version von UIB empfehlen, damit habe ich bislang gute Erfahrungen gemacht.

fkerber 25. Aug 2010 15:31

AW: Welche Firebird-Version / welche Komponenten
 
Hi!

Ja, aber das klang für mich so "Wenn sie keinen Bock haben, sich Gedanken zu machen, dann nehmen sie halt das - wird schon passen" :D

Uh, FibPlus ist ja richtig teuer und IBDac auch nicht ganz günstig (für ein einzelnes Projekt).
Dann schaue ich mir mal UIB an - also D2007 kann es nicht von Haus aus?


Liebe Grüße,
Frederic

DeddyH 25. Aug 2010 15:34

AW: Welche Firebird-Version / welche Komponenten
 
Nunja, Du könntest es mit den Interbase-Komponenten versuchen, aber wie zukunftssicher das ist, steht in den Sternen. IB und FB driften ja logischerweise immer mehr auseinandern.

mkinzler 25. Aug 2010 15:46

AW: Welche Firebird-Version / welche Komponenten
 
Zitat:

*) Welche der Serverversionen ist die Richtige für mich (Classic vs. Super) bzw. wo sind die Unterschiede für die Praxis? Ich kenne zwar diese Tabelle http://www.firebirdsql.org/manual/de...-or-super.html - aber sie wollte mir nicht so richtig weiterhelfen
Classic verwendet das POSIX-Prozess-Modell: Ein Task pro Verbindung; Jeder Prozess hat eigenen Cache; Stürzt ein Prozess ab laufen die anderen weiter
SuperServer: Windows-Task-Modell: Ein Task mir Worker-Threads; globler Cache; beim Absturz eines Threads ganzer Task weg. Bis 2.5: Nicht Multi-Core/-Prozessor fähig.
Ab 2.5
SuperClassic: Mischung zwischen Classic/SuperServer. Mehrrere Tasks mit mehreren Threads (z.B. ein Task pro Core)
Ab 3: Feiner justierbar (geplant)
Die embedded Version basiert bis 2.5 auf SuperServer ab 2.5 auf SuperClassic

Zitat:

*) Kommerzielle Nutzung ist ja mit beiden uneingeschränkt möglich?
Ja.

Zitat:

*) Welche Zugriffskomponenten brauche ich? Komme ich mit dem aus, was mir D2007 bietet oder *muss* ich etwas anderes haben? Oder *sollte* ich mir etwas anderes holen?
Ich verwende IBDAC und bin sehr zufrieden. Kostet zwar was, funktioniert aber. habe auch einiges anderes ausprobiert: IBX, MDO, Zeos, (Jv)UIB. Alle hatten mit irgen etwas Probleme.#

fkerber 25. Aug 2010 16:24

AW: Welche Firebird-Version / welche Komponenten
 
Hi,

hmm, von deiner Beschreibung mit Absturz eines Threads --> alles weg, würde ich ja eher zu Classic greifen wollen, oder nicht?!

Ich hab mir die IBDAC-Seite mal angeschaut - das wären dann rund 105 Euro für die kleinste Version - das ist ne Menge Schotter...

Wie sahen denn die Probleme mit den anderen aus?
Waren das "Kleinigkeiten", wenn man was wirklich extrem seltenes machen wollte oder mehr der Kategorie "So kann ich nicht arbeiten"?


Liebe Grüße,
Frederic

mkinzler 25. Aug 2010 16:28

AW: Welche Firebird-Version / welche Komponenten
 
Zeos kann kein hard committ (nur bei Trennen der Verbindung)
Die anderen waren recht buggy (galt nur für die derzeitige JvUIB, die richtige UIB sind laut Detlef besser).
IBX sollte bei nur Abfragen auch reichen. Bei dbExpress hat der mitgelieferte Treiber ernorme Einschränkungen ( nur lokal, nur 5 Verbindungen)

Lemmy 25. Aug 2010 19:55

AW: Welche Firebird-Version / welche Komponenten
 
Zitat:

Zitat von mkinzler (Beitrag 1044955)
Die anderen waren recht buggy (galt nur für die derzeitige JvUIB, die richtige UIB sind laut Detlef besser).

Bei UIB MUSS die Version aus dem SVN-Repository verwendet werden, alle anderen kann man fast vergessen. Allerdings muss hier drauf geachtet werden, dass kein Unidirektionales DataSet dabei ist, d.h. man kann die Daten zwar in einem DBEdit anschauen, aber eben nicht editieren. Es gibt aber eine Drittkomponente (fbdataset von Alex http://alexs75.narod.ru/fpc/fbdataset) allerdings klingelt da mein VIrenscanner schon beim Aufruf der Seite. Ich habe mir die Komponente auch mal angeschaut, aber auch ganz schnell wieder weggelegt

Eine Möglichkeit bei den UIB wäre das Mapping (DB-GUI) über eine eigene Anbindung (MGM-Pattern) zu lösen und mit Objekten zu arbeiten, ist aber etwas aufwändig und lohnt sich bei einem kleinen Modell nicht wirklich. Macht aber ziemlich viel Spaß wenn es läuft.

Dann gibts da noch einen kostenlosen DBXtreiber, da muss man allerdigns viel von Hand machen. http://sites.google.com/site/dbxfirebird/

Ich werde mir nach dem Urlaub auch die IBDAC anschaffen um meine IBX-Implementierung abzulösen. Mit IBX würde ich nichts mehr anfangen, da bei jedem Update von Delphi und Firebird eine Inkompatibilität auftreten kann was das ganze Projekt gegen die Wand fährt...

Ach ja, dann gibts auch noch die IBObjects, würde ich aber auch nicht mehr verwenden. Kannst Dich auch mal hier durchblättern...
http://www.torry.net/pages.php?id=1171

Grüße

DelphiBandit 26. Aug 2010 07:50

AW: Welche Firebird-Version / welche Komponenten
 
Zitat:

Zitat von fkerber (Beitrag 1044952)
hmm, von deiner Beschreibung mit Absturz eines Threads --> alles weg, würde ich ja eher zu Classic greifen wollen, oder nicht?!

Der Classic hat in der aktuellen Version 2.1 aber andere Macken, manchmal bekommen die gestarteten Prozesse es überhaupt nicht mit, wenn eine Connection getrennt wird und laufen einfach weiter. Da hilft dann nur noch im Taskmanager alle einzeln "Prozeß killen" oder Neustart der Maschine. Aus meiner Erfahrung würde ich sagen für das beschriebene Szenario mit 3-10 Rechnern reicht der SuperServer absolut aus. Es ist nicht der Absturz Deiner Anwendung gemeint, sondern der Datenbank-Prozess. Und es kommt nicht wirklich häufig vor, dass man den Firebird-Prozess zum Absturz bringt.

Bei den Zugriffskomponenten arbeiten wir _leider_ momentan noch mit IBObjects, ein Wechsel auf IBDAC steht aber mittelfristig an, da diese viel aktiver weiterentwickelt werden.

UIB aus dem aktuellen Sourceforge-Repository arbeitet zuverlässig und sehr flink mit Firebird zusammen. Für alle Umstellungs-/Importprogramme ist das hier bei uns erste Wahl. Gewöhnungsbedürftig ist nur die abweichende Schreibweise im Quelltext und die Mehrarbeit, weil es keine TDatasource-Bindung gibt. Hier spart ein Persistenz-Framework wie tiOPF aber viel Arbeit, welches eigene TEdit usw. Komponenten mitbringt und sich den Quelltext für SQL / uib selbst bauen kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz