Hallo Peter,
Zitat:
So jetzt habe ich Fibplus im Haus und den direkten Vergleich zu IBObjects und IBX.
Mein erster Eindruck:
Beim Vergleich mit den anderen beiden Tools benötigen Fibplus Abfragen etwas mehr Zeit.
Zu diesem Vergleich gibt es ein ganzes Buch (Titel/Autor muß ich erst nachsehen).
Dort wird festgestellt, dass die Komponenten für die Operationen wie Prepare, Open, Fetch, Close, Commit,
Rollback usw sehr unterschiedlich viel Zeit benötigen. Es kommt also sehr auf den konkreten Fall an.
Häufig war jedoch FibPlus am schnellsten.
Ein erster Eindruck wird da wahrscheinlich nicht reichen.
Zitat:
Es kann Zufall sein, aber ich bin am Anfang gleich über 2 Bugs gestolpert.
z.B. pFIBDatabase1.GetTableNames(Tiel,System);
Ist System false, dann werden nur Usertabellen aufgelistet.
Fragt man im folgenden Schritt nach Systemtabellen (System=true), dann erhält man eine leere Liste.
Schaut man in den Quelltext dann sieht man, das die Filterclausel Params[0] zugewiesen wird.
Bei einer erneuten Abfrage mit System=true wird diese nicht gelöscht.
Workaround Filter vor Abfrage manuell löschen.
Kann ich nichts dazu sagen, da ich GetTableNames() noch nie benötigt habe.
Zitat:
Dann habe ich noch ein kleines Verständnisproblem.
Der Parametereditor läßt die Auswahl des Datenprotokolls zu. (NETBUI,
TCP/
IP).
Die getroffene Auswahl wird aber nirgendwo gespeichert.
In DbParams wird kein Eintrag generiert.
Das wird nicht in in den DbParams sondern im DBName gespeichert.
TCP/
IP: server:lw:\pfad
NetBEUI: \\server\lw:\pfad
Novel SPX: server@lw:\pfad
Zitat:
Eine Datenbank läßt sich im Komponenteneditor nur über NETBUI öffnen.
Der Dateiname wird in Server und Dateiname gesplittet und dann nicht immer korrekt zusammengesetzt.
Gebe ich die Parameter aber nur im Objectinspector ein (Databasename und dann Connected) funktioniert es.
Kann ich nicht nachvollziehen, läuft bei mir korrekt über
TCP/
IP und NETBUI.
Zitat:
Query und Dataset sind im Vergleich etwas gewöhnungsbedürftig.
Was vergleichst du und was ist gewöhnungsbedürftig?
Zitat:
Eine
SQL Abfrage ohne Transaction scheint nicht zu gehen.
Es gibt keine
SQL Abfrage ohne Transaction, auch ein SELECT läuft immer in einem Transaction-Context!
Wenn du explizit keine Transaction verwendest, so wird auf jeden Fall implizit durch die
Componenten eine benutzt.
Eine Transaction ist in erster Linie die Sicht auf die Daten.
ReadCommitted: es werden nur Daten gesehen die Committed sind.
RepeatableRead: es werden nur Daten gesehen zum Start der Transaktion Committed sind.
....
Zitat:
IbObjects ..
Zitat:
.. überladen und etwas undurchsichtig.
Als größten Mangel sehe ich aber inzwischen die fehlende Compatibilität zu dem Standard Dataset an.
Der probitäre Ansatz verhindert den Einsatz von Drittanbieter-Componenten.
Das war u.a ein Grund für mich von IbObjects zu FibPlus umzusteigen.
alex