Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Connection zu firebird will nicht (https://www.delphipraxis.net/150596-connection-zu-firebird-will-nicht.html)

Lemmy 22. Apr 2010 12:21

Re: Connection zu firebird will nicht
 
Hi,

sorry, vielleicht hätte ich etwas mehr schreiben sollen...

Zur Firebirdversion:
Zitat:

4.1.2007.19 / 4.1.2009.19 / 4.1.2010.19 Release on 14 Sep 2009
....
3. Certify to access Firebird 2.1.3 18185 with dbExpress driver for Firebird
wird also unterstützt und kann man auch schnell selbst finden.

und wenn ich nach ODS suche, ist der erste Link der hier: http://www.firebirdfaq.org/faq117/.

Und das Embarcadero dir neben Delphi auch noch Interbase, Blackfish und alle anderen Produkte am besten in 2facher Ausfertigung verkaufen wollen, ist ein normaler Wunsch in einem kapitalistisch geprägten System.

Wenn Du Zugriffskomponenten für Firebird suchst weil Du damit arbeiten MUSST, weil Du Geld verdienen willst, dann kauf dir IBDAC, FIBPlus oder sonst eine Bibliothek, Empfehlungen dazu gibt es im Forum mehr als genug. Ich persönlich würde nicht (nie) einen DBX-Treiber verwenden.

Und wenn ich die Dinger runter lade, entpacke und mit Delhi 2010 das Projekt kompiliere, kommen folgende Dinger:

1. Fehlermeldung dass eine DLL nicht gefunden wurde - Lösung: Alle DLLs des Treibers in das Verzeichnis der exe kopieren
2. Fehlermeldung DLL C:\Program Files\Firebird\Firebird_1_5\bin\fbclient.dll nicht gefunden - klar ich habe auch FB 2.1 installiert, also Pfad ändern und der steckt in der ini-Datei drin, also flux geändert
3. ne existierende DB angeben

Feddig!

Ich kann hier keine ungewöhnlichen Hürden feststellen - und ich habe wie gesagt bisher nie mit dbx-Treibern gearbeitet.

Grüße

idefix2 22. Apr 2010 17:56

Re: Connection zu firebird will nicht
 
Hallo,

Danke für die Antwort. Tatsächlich ist im File History.htm die Information über die Zertifizierung für die letzte firebird Version zu finden. Auf Grund Deines Postings habe ich noch einen Versuch gestartet, und jetzt funktioniert es - muss mich beim letzten Versuch irgendwo vertan haben, vielleicht doch bei Benutzernamen und Password, obwohl ich das ein paar mal überprüft habe.

Was ich gerne wissen würde:

Zitat:

Ich persönlich würde nicht (nie) einen DBX-Treiber verwenden.
Warum das?

mkinzler 22. Apr 2010 18:16

Re: Connection zu firebird will nicht
 
Weil dbExpress irgendwie etwas "speziell" ist.

Lemmy 22. Apr 2010 18:53

Re: Connection zu firebird will nicht
 
Zitat:

Zitat von idefix2
Zitat:

Ich persönlich würde nicht (nie) einen DBX-Treiber verwenden.
Warum das?

Es kommt darauf an! ;-)

Aber hauptsächlich weil es keine eierlegende Wollmilchsau gibt! Und wenn eine Datenbankzugriffsschicht mehr als eine Datenbank unterstützt (also nicht unbedingt Firebird und Interbase, sondern schon eher so was wie MySQL und Oracle), dann kann diese Zugriffsschicht nicht die Besonderheiten von MySQL und auch nicht die von Oracle.

Deshalb nutze ich lieber "richtige" Zugriffskomponenten und baue mir entweder selbst eine "Zwischenschicht" ein die es mir ermöglicht unterschiedliche Datenbanksysteme anzubinden oder nutze ein OPF/ORM-Framework (mit allen seinen Vor- UND Nachteilen!).

Zitat:

Zitat von mkinzler
Weil dbExpress irgendwie etwas "speziell" ist.

Das würde mich jetzt näher interessieren....

Grüße
Lemmy

idefix2 22. Apr 2010 19:59

Re: Connection zu firebird will nicht
 
Hmm, aber hast Du nicht dann das gleiche Problem mit Deiner Zwischenschicht, wenn Du Kompatibilität mit verschiedenen Datenbanken brauchst?

Dass Du, wenn Du kompatibel zu vielen Datenbanken sein willst, eine Menge Einschränkungen in Kauf nehmen musst, und dass das wirklich sehr einschränkend sein kann, ist zweifellos richtig - der kleinste gemeinsame Nenner ist sehr oft VIEL kleiner als jedes einzelne Element. Aber die Einschränkungen liegen doch mehr im Bereich der Verwendung der Datentypen und Sprachelemente als im Bereich der Schnittstelle selbst, oder sehe ich das falsch?

Zitat:

nutze ein OPF/ORM-Framework
Hilfe, was ist das?

Zitat:

Weil dbExpress irgendwie etwas "speziell" ist.

Das würde mich jetzt näher interessieren....
Mich auch. Ich bin ernsthaft und sehr intensiv am evaluieren, in welche Richtung ich mich bewegen soll. Ein Problem ist, logischerweise, dass in kaum einer Beschreibung eines DBMS oder einer Schnittstellenkomponente von den Nachteilen und von dem, was das Ding nicht kann, geschrieben wird. Es ist für jemand, der sich in dieses doch recht komplexe Gebiet erst einarbeiten muss, sehr schwer, aus den Dingen, die in den jeweiligen Beschreibungen nicht stehen, die möglicherweise fehlende Funktionalität bzw. potentielle Probleme herauszulesen. "etwas speziell" ist da keine wirkliche Hilfestellung :wink:

Lemmy 23. Apr 2010 06:25

Re: Connection zu firebird will nicht
 
Zitat:

Zitat von idefix2
Zitat:

nutze ein OPF/ORM-Framework
Hilfe, was ist das?

Jetzt habe ich extra drauf geachtet ORM zu schreiben, weil das in WIki erklärt wird :-) Ein OPF (Object Persistence Framework) oder ORM-Framewokr (Objekt-Relationales-Mapping-Framework) sorgt dafür, dass deine Objektorientierte Strukturen in der Software in einer relationalen DB gespeichert werden können. Im "Idealfall" definierst Du quasi das KLassenmodell, setzt das (z.B. mittels UML) um und das OPF macht den ganzen Rest. Lediglich die Oberfläche musst Du dann noch entwerfen. Aber Achtung - ein OPF ist kein Alleskönner! Da gibts auch genügend Fallen und Hürden!

Zitat:

Zitat von idefix2
Hmm, aber hast Du nicht dann das gleiche Problem mit Deiner Zwischenschicht, wenn Du Kompatibilität mit verschiedenen Datenbanken brauchst?

Jein - klar ist das nicht trivial, aber ich kann dennoch dafür sorgen, dass wenn die Datenbank z.B. wenn die Datenbank StoredProcedures und Triggers kann, dann kann ich diese auch einsetzen. Und bei ner Datenbank die "nur" Tabellen und Views kennt, nutze ich halt diese. Versuch hier in Schichten zu denken:

so sieht die typische 08/15 DB-Anwendung in Delphi aus:

GUI
----
Datenbank

Die Datenbank ist mehr oder weniger direkt durch Datensensitive Komponenten an die GUI angeschlossen. Wenn Du jetzt was wie Zeos oder DBX einsetzt siehts wegen mir so aus:

GUI
----
Zugriffsschicht
----
Datenbank

Wobei hier schon eingeschränkt werden muss, dass durch die enge Verzahnung von DBX und Zeos mit der GUI, diese nicht ohne weiteres ausgetauscht werden können.

Und so sieht es mit einem OPF aus:

GUI
----
BOM (Business Object Modell)
----
Datenbankzugriffsschicht
----
Datenbank

Oder sogar so:

GUI
----
BOM-Zugriffsschicht
----
BOM
---
DB-Zugriffsschicht
---
Datenbank

Und schon kann ich die Datenbank auswechseln und könnte sogar die Oberfläche auswechseln (z.B: von der VCL auf die Lazarus-Bib, oder NoVCL, oder Intraweb oder sonst was....) Denn wenn ich hier eine Schicht auswechsle (z.B: die Datenbank), dann muss ich lediglich die entsprechende ZUgriffsschicht anpassen und der Rest bleibt gleich.

Aber nochmal: Das ganze Thema ist nicht gerade trivial und in einem Tag zu lernen - aber ziemlich spannend!

idefix2 23. Apr 2010 10:17

Re: Connection zu firebird will nicht
 
Zitat:

Jetzt habe ich extra drauf geachtet ORM zu schreiben
Nach OPF/ORM und nach OPF hab ich noch gesucht, dann hab ich mein Posting abgesetzt.

Das einzige, das mir in der Richtung untergekommen ist, ist die Datenbank Cache von Intersystems, die habe ich mir auch kurz angeschaut. Aber erstens kann man sie von Delphi aus nur über ODBC ansteuern, und zweitens ist das doch ein richtiger "Exote". Wobei das zweite wahrscheinlich kein gutes Argument ist, weil alles in der Richtung momentan noch eher exotisch ist.

Danke jedenfalls für die Hinweise, jetzt werde ich mir einmal die verschiedenen Programme, die ich heruntergeladen habe, genauer anschauen und ein bisschen herumprobieren.

Bis demnächst

Lemmy 23. Apr 2010 12:29

Re: Connection zu firebird will nicht
 
Achtung Eigenwerbung:

http://www.delphitutorials.de/object...framework.html

ein paar Infos zu OPF

cu

idefix2 23. Apr 2010 13:37

Re: Connection zu firebird will nicht
 
Sehr interessant und lesenswert -
Zitat:

Und in diesem Dokument wird (incl. kompletter Sourcen) der Aufbau eines einfachen OPF in Delphi erklärt.
Leider ist dieser Link tot.

Lemmy 23. Apr 2010 19:35

Re: Connection zu firebird will nicht
 
Danke für den Hinweis.
hier der neue Link
http://www.tabdee.ltd.uk/papers/BuildingAnOpf.html


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:19 Uhr.
Seite 3 von 4     123 4      

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-2025 by Thomas Breitkreuz