AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Mit welcher Komponente mit Firebird DB verbinden?
Thema durchsuchen
Ansicht
Themen-Optionen

Mit welcher Komponente mit Firebird DB verbinden?

Ein Thema von erich.wanker · begonnen am 22. Jul 2013 · letzter Beitrag vom 24. Jul 2013
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
688 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Mit welcher Komponente mit Firebird DB verbinden?

  Alt 23. Jul 2013, 10:33
ich würde hier auch für IBDAC mit Firebird plädieren. Ist aus meiner Sicht und in vielen Kundenprojekten die beste Wahl.


noch eine Anmerkung:

Als kleiner Softwareanbieter kannst du dich aufhängen, wenn deine Software auf zig Plattformen läuft, weil du dann wahlweise von allen Plattformen nur das benutzen kannst, was alle können und damit nirgendwo wirklich performant sein wirst oder alternativ für jede Plattform das ganze Datenbankdesign noch mal machen kannst.

Diese Pseudo Multi Database Layer im Client sorgen meistens dafür, das du Probleme lösen musst, von denen man keine Ahnung hat. Indexstrukturen, Datentypen, Funktionen des Optimierers und generelle SQL Kompatibilität solltest du nicht ignorieren. Ob du da die Macken von 10 unterschiedlichen Plattformen kennenlernen willst oder dich auf eine Plattform konzentrierst, bei der du zumindest die wichtigsten Dinge kennst, macht für kleine Softwarehäuser eine riesengroßen Unterschied. Oracle oder MS SQL Spezi wird man nicht durch 2 Minuten im Internet surfen.

Das kann aber noch viel gefährlicher werden ....

Wenn dir dann ein ein Mitarbeiter des Kunden auf dem Oracle Server einen Materialized View mit On Commit erstellt und in der nächsten Nacht bei Datenabgleich deiner Software der komplette Datenbankserver lahm liegt, der Kunde dich panisch morgens um 7 anruft, weil das komplette Unternehmen mit hunderten Mitarbeitern still steht und deine Software eindeutig auf Basis der Logs dafür verantortlich ist, dann würdest du dich freuen, nichts mit derem zentralen Datenbanksystem gemacht zu haben.

Der Kunde selbst schwört Stein und Bein, nichts verändert zu haben und der sogenannte Oracle DB Admin hat leider auch keine Ahnung, was das Problem ist und schon gar nicht, was Materialized Views sind und warum die mit on Commit Probleme machen könnten, weil das bei seinem VHS Kurs leider nicht dran war. Man glaubt gar nicht, was für Flachpfeifen da teilweise sehr verantwortungsvolle Positionen bekleiden, weil ja unter den Blinden der Einäugige König ist.

Wenn der Kunde dir dann auf mehrfache Anforderung das Oracle Fehler Protokoll sendet, weil du an der Software seit Monaten nichts mehr geändert hast, dir also keine schuld bewusst bist, dir dann auf den ersten Blick die Fehlermeldungen zum Materialized View auffallen sollten, dann hast du Glück gehabt, das du den Kunde noch mal auf den Pott setzen kannst und ihm zufällig doch einfällt, das er da was an einem View verändert hat.

Alternativ kannst du auch wegen eventueller Schadensersatzforderungen deine Laden gleich zusperren und Hartz4 beantragen.

Die Story ist nicht ausgedacht, sondern real so passiert bei einem französischen Konzern mit deutschen Filialen, für den wir eine Software erstellt haben. Da tanzten schon der erste Manager mit französischem Akzent in Dreieck und wurde ganz still, als der wirklich schuldige im eigenen Haus saß.

Fazit: Mehrere Plattformen zu unterstützen ist nicht immer nur ein Vorteil, sondern manchmal auch brandgefährlich, wenn nicht wirklich auf jeder Plattform 100% fit ist. Für kleine Softwarehersteller ist es unmöglich, auf jeder Datenbankplattform 100% fit zu ein, daher sollte man immer die angeblichen Vorteile im Marketing (multiplattformfähig ...) gegen die Gefahren abwiegen. Multiplattform ist nicht per se besser als single plattform .....
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

AW: Mit welcher Komponente mit Firebird DB verbinden?

  Alt 23. Jul 2013, 11:35
Fazit: Mehrere Plattformen zu unterstützen ist nicht immer nur ein Vorteil, sondern manchmal auch brandgefährlich, wenn nicht wirklich auf jeder Plattform 100% fit ist. Für kleine Softwarehersteller ist es unmöglich, auf jeder Datenbankplattform 100% fit zu ein, daher sollte man immer die angeblichen Vorteile im Marketing (multiplattformfähig ...) gegen die Gefahren abwiegen. Multiplattform ist nicht per se besser als single plattform .....
Sehe ich auch so: Zwar hab ich auch bereits eine Anwendung mit MSSQL, eine mit MySQL und sogar eine mit PostGre entwickelt, doch richtig "anfreunden" konnte ich mich mit keinem der genannten DMBS. Alle drei genannten DBMS bieten sehr umfangreiche Dokmentationen und ebenso viele Features, die ich bei meinen eher kleinen Projekten eigentlich gar nich benötige. Meine Kunden sind kleine Läden (z.B. ein TShirt-Druck-Laden) und vor allem Kleinunternehmer, die gar nicht in der Lage sind, die Kosten für ein Software-Projekt auf einmal zu begleichen. Da wäre alles andere als eine runde Firebird-Datenbankanwendung überdimensioniert.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#3

AW: Mit welcher Komponente mit Firebird DB verbinden?

  Alt 23. Jul 2013, 11:39
Als kleiner Softwareanbieter kannst du dich aufhängen, wenn deine Software auf zig Plattformen läuft, weil du dann wahlweise von allen Plattformen nur das benutzen kannst, ...
Diese Pseudo Multi Database Layer im Client sorgen meistens dafür, das du Probleme lösen musst, von denen man keine Ahnung hat. ...
Endlich mal: Eine fundamental wichtige Aussage von Jemanden, dem man das auch glaubt.
Zitat:
Fazit: Mehrere Plattformen zu unterstützen ist nicht immer nur ein Vorteil, sondern manchmal auch brandgefährlich....
Wenn schon multiplattform, dann richtig, ergo: Nichts selbst frickeln, sondern etwas ausgereiftes kaufen.

Wenn ich eine Anwendung hätte, die auf mehreren Plattformen laufen soll, dann hätte ich auch den Umsatz, um mir eine entsprechende Lösung (RemObjects?) zu kaufen, bzw. würde ich das finanzielle Risiko eingehen, hier zu investieren.

Ich habe mich z.B. auf MSSQL eingeschossen. Firebird wäre auch gegangen, aber es war nun einmal SQL-Server von Microsoft. Ich lerne immer mehr, bin mittlerweile halber Spezialist und programmiere daher hochperformante Anwendungen. Nicht, weil die Komponenten so toll sind (mir reicht ADO dicke), sondern weil ich mich mit dem Server mittlerweile so gut auskenne, das ich für so ziemlich jedes Performanceproblem DB-Seitig eine schnelle Lösung finde.

Also: Datenbank aussuchen, Irgendwelche halbwegs bugfreien Komponenten mit Grundfunktionalität nehmen und Erfahrungen sammeln.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#4

AW: Mit welcher Komponente mit Firebird DB verbinden?

  Alt 23. Jul 2013, 13:07
Also: Datenbank aussuchen, Irgendwelche halbwegs bugfreien Komponenten mit Grundfunktionalität nehmen und Erfahrungen sammeln.
In der Tat: ein guter Rat Genau so macht man das
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

AW: Mit welcher Komponente mit Firebird DB verbinden?

  Alt 23. Jul 2013, 17:28
..Ob du da die Macken von 10 unterschiedlichen Plattformen kennenlernen willst oder dich auf eine Plattform konzentrierst, bei der du zumindest die wichtigsten Dinge kennst.....
Ich frage mich schon seit langem, wo der Unsinn mit "mehrere Datenbanken" herkommt. Jedem normalen Programmierer müsste doch wohl klar sein, dass wie im normalen Leben der kleinste gemeinsame Nenner nie und nimmer ein Optimum darstellen kann. FIBplus wurde noch nicht erwähnt. Gibts auch nur für FB/IB. Zumindest kann man sich da sicher sein, dass die sich nicht verzetteln. Eine weitere Unsitte ist übrigens auch, dem (meist völlig ahnungslosen) Endanwender eine solch schwierige Entscheidung, wie die Auswahl der Datenbank aufzubürden. Für unsereinen ist es zwar einfach, zu sagen, Firebird und basta. Aber Otto-Normaluser vor solch eine Entscheidung zu stellen, das ist völlig überflüssig. Wenn ich die Leute, die jeden Tag mit meinen Programmen arbeiten mal fragen würde, wie die eingesetzte Datenbank eigentlich heisst, dann könnte wohl kein einziger das sagen. Und das ist auch gut so.
Gruß
Hansa
  Mit Zitat antworten Zitat
EgonHugeist

Registriert seit: 17. Sep 2011
187 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

AW: Mit welcher Komponente mit Firebird DB verbinden?

  Alt 23. Jul 2013, 17:53
\src\Zeos.inc öffnen

alle nicht Interbase defines wie ENABLE_MYSQL kommentieren und tada.. Zeos kann nur noch FireBird handlen..
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Mit welcher Komponente mit Firebird DB verbinden?

  Alt 23. Jul 2013, 18:16
Hi,

Ihr habt alle recht, wenn Ihr wie z.B. Hansa sagt "Support für mehrere DBs gleichzeitig, kann nie das Optimum sein"
das unterschreibe ich auch sofort zu 100% .

Genauso habt Ihr Recht das man sich am besten vor Projektstart auf eine DB festlegt
und dann für diese DB direkt entwickelt.
Mache ich bei meinen Projekten eigentlich auch immer so.

Entwickelt man allerdings Standard-Software oder eine Software die irgendwann "Standard-Software" werden soll
sieht das ganze in meinen Augen etwas anders aus.
Bsp.:
Ein früherer Arbeitgeber von mir hat Software-Produkte im Pflegebereich entwickelt,
Zielgruppe ist breit gefächert vom kleinen Pflegedienst bis hin zur großen Uni-Klinik.
Der kleine Pflegedienst war/ist froh mit Firebird keine extra Lizenz Kosten für die Datenbank zu haben.
Bei den Uni-Kliniken hingegen ist zu 95% schon einen "riesen" DB-Server im Haus vorhanden(MsSQL oder Oracle)
und die Kauf-Entscheider fragen gezielt nach ob das schon vorhandene DB-System unterstützt wird.
Keine Unterstützung des vorhandenen DB-Systems = Produkt ist direkt aus dem Rennen.
.....

Wenn ich mir jetzt IBDAC und UniDAC(beide von DevArt) anschaue, Komponenten vergleiche ....
Dann wage ich mal die Vermutung zu äußern das UniDac einfach einen Abstrakten Wrapper auf Ihre einzelnen Produkte(ODAC, SDAC, MyDAC, IBDAC, PgDAC, LiteDAC)
liefert und somit der Zugriff selber wahrscheinlich sogar die selbe Codebasis hat, deshalb sollte es in meinen Augen keinen großen
Geschwindigkeitsunterschied geben und die Verwendung von UniDac nur eine zusätzliche Option bieten die DB zu wechseln,
WENN man es aus irgendwelchen Gründen muss.
Sollte ich bei der Geschwindigkeitsaussage falsch liegen, werde ich mir für mein nächstes Projekt wohl dann noch IBDac kaufen ...,
aber das werde ich bei Gelegenheit mal in Ruhe mit der Trial Version austesten.

Greeetz Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
Alt 23. Jul 2013, 18:27     Erstellt von Smut
Dieser Beitrag wurde von TBx gelöscht. - Grund: Verdacht auf SPAM und den damit verbundenen verschwenderischen Umgang von wertvollen Bits und Bytes
Perlsau
(Gast)

n/a Beiträge
 
#9

AW: Mit welcher Komponente mit Firebird DB verbinden?

  Alt 23. Jul 2013, 19:53
Ist es eigentlich möglich, neben IBDAC sich auch UNIDAC zu installieren?
Im Grunde schon. Ich hatte vor einiger Zeit aus Versehen die Basis-Version von UniDac erworben. Als ich nach dem Installieren feststellen mußte, daß da keine Provider dabei sind und ich somit absolut nichts mit UniDac anfangen konnte, hat mir DevArt kulanterwwise die Lizenz getauscht, ohne weitere Euronen dafür in Rechnung zu stellen. Beim Installieren von IbDac hatte ich dann völlig vergessen, daß ja noch UniDac installiert war. Oder beser gesagt: Ich hatte UniDac völlig vergessen, da ich darauf brannte, endlich das (für mich) neue IBDac auszuprobieren. Beim nächsten Update von IbDac wurde ich allerdings darauf hingewiesen, daß ich auch UniDac updaten oder zuvor installieren müsse, sonst würde das Update beim Installieren verweigert. Ich vermute aber, daß beim Erwerb einer größeren als der Basisversion von UniDac auch immer alle Provider aktualisiert wurden, wenn ein neues Release erscheint.
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
688 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Mit welcher Komponente mit Firebird DB verbinden?

  Alt 23. Jul 2013, 18:48
Hi,
Bei den Uni-Kliniken hingegen ist zu 95% schon einen "riesen" DB-Server im Haus vorhanden(MsSQL oder Oracle)
und die Kauf-Entscheider fragen gezielt nach ob das schon vorhandene DB-System unterstützt wird.
Keine Unterstützung des vorhandenen DB-Systems = Produkt ist direkt aus dem Rennen.
Das Problem ist eindeutig nicht von der Hand zu weisen, aber auch dafür gibt es bewährte Tricks.

Der DB Server des Endkunden wird als Mirror für die Daten in Firebird benutzt.
Durch einfache Scripte werden die relevanten Daten des Firebirdservers in das DBSystem des Kunden
übertragen, via Trigger, Eventalerter, ibeblock und ODBC geht das sogar in nahezu Echtzeit.

Der Firebird Server wird in disem Fall als Application Server betrachtet, der zwar ganz nebenbei auch
SQL kann und auch Daten speichern kann, das interessiert den Kaufentscheider aber relativ selten, da
ja sein Non Plus Ultra Datenbanksystem ja von der Software und dessen Appserver als Storage benutzt wird.
Den fertigen Firebirdbasierenden Appserver liefert man als fertige VM und der Kunde nennt euch nur die
Zugangsdaten zu seiner DB und schon ist alles tuffi ....

Das funktioniert so übrigens wirklich, haben mehrere Kunden von uns Ihren Kunden genau mit dieser
Argumentationskette so umgesetzt.

Das der verantwortliche sich in die Hose pinkelt, wenn irgendeine Software mal nicht auf seiner
bevorzugten DB läuft und er deswegen glaubt, das er ständig Datenverluste hätte, kennt man ja.
Es gibt aber auch gute Argumente dafür, alle Daten in dem zentralen Hobel zu haben, wenn auch nur
als Live Kopie, z.B. Datawarehouse und Reporting. Da würde ich auch nicht die Daten aus dutzenden
Quellen zusammensuchen wollen. Das ist aber mit o.a. Lösung argumentierbar.

Bei kleinen Kunden und kleinen Projekten hat man das Projekt sowieso eher selten, aber wenn du deine
Firebird basierende Anwendung, de nur deswegen so schnell ist, weil du auch die Firebird spezifischen
Features nutzt (SP usw.) und diese dann trotzdem dem Kunden gegenüber mit dem Zusatz
"dedizierter Appserver VM wird mitgeliefert, unterstützte DB Plattform MSSQL,ORACLE,DB2, .... "

Das mal hier so als Hinweis unter uns Pastorentöchtern ....

Immer nicht vergessen:
Leg mal mit deiner Software den zentralen DB Cluster der Klinik lahm, das geht schneller als man denkt
Ich würde da doch lieber nur meine eigene VM lahmlegen, da ich die ja auch gut kenne ....
Und auf der Schnittstelle zur KundenDB laufen eh nur Insert/Updates/Deletes in der einfachsten Form
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz