Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Zugriffskomponenten für Firebird (https://www.delphipraxis.net/151760-zugriffskomponenten-fuer-firebird.html)

idefix2 31. Mai 2010 15:56

Datenbank: Firebird • Version: 2.1 • Zugriff über: Das ist eben die Frage

Zugriffskomponenten für Firebird
 
Hallo,

ich suche verzweifelt schlanke aber vor allem FUNKTIONIERENDE freeware Komponenten für den Zugriff auf Firebird von Delphi 2009 aus. Alles was ich bisher gefunden habe, funktioniert entweder nur mit älteren Delphi Versionen oder es funktioniert nicht richtig.

Gibt es jemand, der Delphi 2009 (oder 2010, das dürfte dann egal sein) und Firebird 2.1 erfolgreich mit irgend einer Freeware-Schnittstelle laufen hat? Ich brauche keine datensensitiven Komponenten, möchte mir aber wenn es irgendwie geht ersparen, mich mit der Firebird API selbst herumzuschlagen.

Sascha Object 31. Mai 2010 16:00

Re: Zugriffskomponenten für Firebird
 
Hi !

Warum nimmst du nicht die Interbase Komponenten.
Die sollten bei D2009 mit Firebird auch funktionieren.


Gruss

mkinzler 31. Mai 2010 16:05

Re: Zugriffskomponenten für Firebird
 
-ZeosLib7(Alpha
-UIB (SVN)

HeikoAdams 31. Mai 2010 16:07

Re: Zugriffskomponenten für Firebird
 
Zitat:

Zitat von mkinzler
ZeosLib7(Beta) übrig

Hab ich was verpasst? :wiejetzt: AFAIK sind die Zeos-Leute erst bei der Alpha von Version 7 angekommen :gruebel:

mkinzler 31. Mai 2010 16:11

Re: Zugriffskomponenten für Firebird
 
Dann halt Alpha :zwinker:

idefix2 31. Mai 2010 16:19

Re: Zugriffskomponenten für Firebird
 
Zitat:

Warum nimmst du nicht die Interbase Komponenten.
Die sollten bei D2009 mit Firebird auch funktionieren.
http://www.delphipraxis.net/internal...t.php?t=176813

Ich habe es leider nicht geschafft, die zum Laufen zu bringen, siehe Link

mkinzler 31. Mai 2010 16:25

Re: Zugriffskomponenten für Firebird
 
Er meint Interbase Express (IBX), welche Unter "Interbase" bei Delphi zu finden sind

DeddyH 31. Mai 2010 16:27

Re: Zugriffskomponenten für Firebird
 
Liste der Anhänge anzeigen (Anzahl: 1)
Er meint nicht DBExpress, sondern die Komponenten auf dem Reiter "Interbase" der Komponentenpalette.

idefix2 31. Mai 2010 20:53

Re: Zugriffskomponenten für Firebird
 
Jetzt eben habe ich IBX ausprobiert - connection rejected by remote inteface, exakt wie bei den Interbase DBX Komponenten.

UIB habe ich mir jetzt auch noch kurz angeschaut, zumindest die Version, die ich gefunden habe, wird aber ziemlich sicher nicht gehen: Es ist eine Version aus dem Jahr 2006, damals gab es noch kein Delphi 2009 und keine Unicode strings in Delphi - das kann nicht zusammenpassen.

Weiss jemand, ob eine neuere Versionen der UIB Komponenten gibt, und wo? Etliche Links, die zu UIB führen sollten, sind tot. Auf Sourceforge gibt es zwar eine UIB Seite, aber dort nix zum Downloaden.

Lemmy 31. Mai 2010 22:17

Re: Zugriffskomponenten für Firebird
 
Hi,

für die UIB musst Du dir den aktuellen Stand aus den SVN-Repository runter laden:

http://sourceforge.net/projects/uib/develop

Wenn Du SVN nicht kennst, dann installier dir z.B. das hier herunter:
http://tortoisesvn.tigris.org/

Grüße
Lemmy

Alfredo 31. Mai 2010 23:50

Re: Zugriffskomponenten für Firebird
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Jetzt eben habe ich IBX ausprobiert - connection rejected by remote inteface, exakt wie bei den Interbase DBX Komponenten.
Das geht mit Delphi 2009 einwandfrei. Siehe den beigefügten Screenshot.

Gruß
Alfred

mkinzler 1. Jun 2010 05:32

Re: Zugriffskomponenten für Firebird
 
Dein Problem scheinen nicht die Komponenten zu sein. Irgend etwas scheint an deiner Firebird-Installation nicht zu stimmen

pixfreak 1. Jun 2010 06:14

Re: Zugriffskomponenten für Firebird
 
Zitat:

Zitat von Alfredo
Zitat:

Jetzt eben habe ich IBX ausprobiert ...
Das geht mit Delphi 2009 einwandfrei. Siehe den beigefügten Screenshot.

Gruß
Alfred

Moin,

versuche es mal mit einem Unicode String / Datenbank in Kombi IBX und Firebird, das knallt.... Ich dachte, ich könnte die IBX-Kompos nutzen, leider war das dann doch nichts mehr.

Allerdings sollte mit IBX der Connect klappen und mit "einfachen" Tabellen auch Daten kommen. Das Problem von Idefix2 liegt wohl tatsächlich woanders...

VG Pixfreak

pixfreak 1. Jun 2010 06:34

Re: Zugriffskomponenten für Firebird
 
Zitat:

Zitat von idefix2
Jetzt eben habe ich IBX ausprobiert - connection rejected by remote inteface, exakt wie bei den Interbase DBX Komponenten...

Moin,

wie greifst Du denn auf Firebird zu? Soll meinen, direkt auf die Datenbank via Dateipfad/Daeinamen oder über die Netzwerkschicht ala localhost:db_name.fdb

Zeig vielleicht mal kurz Deine IBX Settings in der Connection und vielleicht einen Ausschnitt aus der Config von Firebird.


VG Pixfreak

Edit: ...immmr dse Rchtshcrbfheler...

Alfredo 1. Jun 2010 07:00

Re: Zugriffskomponenten für Firebird
 
Zitat:

versuche es mal mit einem Unicode String / Datenbank in Kombi IBX und Firebird, das knallt.... Ich dachte, ich könnte die IBX-Kompos nutzen, leider war das dann doch nichts mehr.
Mein Hinweis "einwandfrei" bezog sich nur auf die einfache Verbindung zum Firebird-Server.

Zum Testen würde ich SDLDirect nehmen.

Idefix sollte erst einmal zeigen, dass sein Server überhaupt läuft.

Dann sollte er eine Verbindung mit Flamerobin oder IBExpert Personal herstellen.

Auch wäre interessant ob er den CS oder den SS installiert hat.

Ich arbeite derzeit mit 2.0.3 CS und der reicht für den Normalfall völlig aus.


Gruß
Alfred

steffen_d 1. Jun 2010 09:08

Re: Zugriffskomponenten für Firebird
 
Hallo,

klappt denn grundsätzlich der Zugriff auf die Firebird-Datenbank, z.B. mit FlameRobin?
Erst wenn das 100%ig funktioniert sollte man den Fehler bei den Komponenten suchen.

Gruß
Steffen

idefix2 1. Jun 2010 10:09

Re: Zugriffskomponenten für Firebird
 
Der Firebird Server läuft. Zugriff über ISQL und über die Database workbench ist problemlos möglich.
Ebenso funktioniert der Zugriff mit Hilfe der Firebird DBX Komponenten, mit den Komponenten gibt es aber eine Menge anderer Probleme, deshalb suche ich eine bessere Verbindungslösung.
Benutzername, Password und Datenbankname (ich verwende einen Alias localhost:musikbox) habe ich bei den Interbase DBX Komponenten und bei den Interbase IBX Komponenten exakt gleich eingestellt wie in der Firebird DBX Version. In der klappt die Anmeldung, bei den interbase Varianten bekomme ich die Fehlermeldung.

Aber wenn die Interbase Komponenten in der Folge dann Schwierigkeiten machen, ist mir mit der blossen Anmeldung ohnehin nicht geholfen.

@Alfredo: Mit welcher Firebird Version arbeitest Du? Vielleicht klappt die Anmeldung bis zu Firebird 2.0, und nicht mehr bei 2.1? Wenn die IBX Komponenten durch das Auseinanderdriften in Wirklichkeit nicht mehr kompatibel sind, wie aus einigen Postings hier hervorgeht, wäre es ja nicht unsinnig, serverseitig so eine Verbindung von vorneherein abzulehnen.

Alfredo 1. Jun 2010 11:49

Re: Zugriffskomponenten für Firebird
 
Zitat:

@Alfredo: Mit welcher Firebird Version arbeitest Du?
Standardmäßig arbeite ich mit einem Samba-Server unter Fedora 11. Version 2.03.12981 CS.

Für den Test für dich habe ich unter WindowsXP Servicepack 3 einen localen Server mit
der Version 2.03.12981 verwendet.

Ich habe bislang nicht gewechselt, da die Version 2.03.12981 Teil des Fedora-Paketes ist
und für mich völlig ausreichend ist.

Mein Kenntnisstand ist, dass in 2.1 wesentliche Änderungen vorgenommen wurden,
damit der Firebird bei großen Datenmengen schneller wird. Da dies am Anfang
erheblichen Ärger gemacht hat, habe ich bei meinem Datenvolumen nicht über
einen Umstieg auf 2.1 nachgedacht.

Der kann mir aber noch blühen, wenn ich demnächst auf Fedora 13 gehen muss.

Ich würde an deiner Stelle einmal den 2.0.5 probieren, der wird noch unter
Downloads angeboten.

Gib hier im Forum in der Suche IBX ein und ich denke danach bist Du bedient.

Wenn es nur für dich ist, dann ist SQLDirect eine feine Sache, da man beim
Programmstart nur einen Hinweis wegklicken muss und danach hat man die volle
Funktionalität.


Gruß
Alfred

idefix2 1. Jun 2010 12:23

Re: Zugriffskomponenten für Firebird
 
Hallo Alfredo,

danke für die Info. Ich vermute, dass also die Anmeldung mit den Interbase Komponenten ab Serverversion 2.1 nicht mehr geht.

Es macht aber für mich überhaupt keinen Sinn, auf 2.0 zu wechseln, damit ich mich mit IBX anmelden kann, wenn nachher erst wieder Kompatibilitätsprobleme zwischen Firebird und den Interbase Komponenten auftreten, wie aus einigen Postings hier hervorgeht. Und ich denke, wenn ich jetzt neu mit einer Datenbank anfange, sollte ich nicht von vorneherein auf "veraltete" Versionen setzen, auch wenn diese im Moment noch 100% ausreichen würde.

Zitat:

Gib hier im Forum in der Suche IBX ein und ich denke danach bist Du bedient.
Ich habe hier, in anderen Foren und auch bei google und yahoo schon unter allen möglichen Suchbegriffen alles mögliche gefunden. Das Lästige ist, dass bis jetzt ziemlich alles, was ich gefunden habe, nicht oder nicht richtig funktioniert. Ich habe Delphi 2009 und will weder auf eine ältere Delphi Version noch auf eine ältere Firebirdversion umsteigen. Aber ich habe schon Unmengen an Software heruntergeladen, um draufzukommen, dass sie z.B. nur mit älteren Delphi Versionen läuft. Die Schnapsidee von Embarcadero, den Char- und String-Typ umzudefinieren, statt diese Typen unangetastet zu lassen und neue Unicode-Typen einzuführen, die jeder verwenden kann, der Unicode braucht, führt dazu, dass kaum ein für eine ältere Delphiversion geschriebenes Programm ohne Anpassungen unter Delphi 2009 funktioniert.

Alfredo 1. Jun 2010 12:48

Re: Zugriffskomponenten für Firebird
 
Hallo Idefix,

wenn Du dich auf die Grundbefehle von SQL beschränkst ist es gleich mit
welcher Version Du arbeitest. "Veraltete" Version haben auch manchmal einen
Vorteil. Sie laufen sehr stabil. Bei mir seit über einem Jahr.

Die Trial von SQLdirect für Delphi 2009 unterstützt laut Yuri Firebird 2.1.X.

*.Exe anklicken und die Komponenten sind installiert.

Das Verbinden ist ein wenig hakelig. Aber da kann ich Dir über alle Klippen
hinweghelfen.

Der Vorteil bei diesem Vorgehen ist, dass Du später nur die Komponente aus-
tauschen musst und Du siehst auch ob dein Firebird-Server einwandfrei läuft.


Gruß
Alfred

pixfreak 1. Jun 2010 12:55

Re: Zugriffskomponenten für Firebird
 
Hi Idefix2,

ich habe mal eben schnell etwas zusammengebastelt: Unter Delphi 2009 und Firebird 2.5.
1. Eigene Testdatenbank angelegt, darin eine Tabelle test mit id und name.
2. Zwei Musterdaten eingefügt: 1, 'Hallo' und 2,'Welt!'

Dann habe ich ein neues Projekt erstellt und die Datenbank mit den IBX Komponenten verbunden, klappt ohne Probleme.
Eine Query mit Datasource und einer Tansaktionen füttern ein DBGrid, das alles in der IDE ohne Fehler... Unicodestuff hab ich nicht probiert.

Also sollte unter Deiner Koombi zumindest eine Verbindung herstellbar sein. Ich denke daher mal, dass irgendwo in deiner Konfiguration etwas nicht passt. Gibt es denn irgendwelche Einträge in der firebird.log Datei?

VG Pixfreak

hoika 1. Jun 2010 12:59

Re: Zugriffskomponenten für Firebird
 
Hallo,

probier mal statt dem Alias-Namen den direkten Pfad,
obwohl es clientseitig keine Rolle spielen sollte.


Heiko

idefix2 1. Jun 2010 13:02

Re: Zugriffskomponenten für Firebird
 
Danke für das Angebot, ich werde mir auf jeden Fall SQLDirect als nächstes anschauen, momentan bin ich noch beim Probieren der UIB Komponenten, d.h. ich versuche, auf Grund von Lemmys Posting #10, dabei durchzublicken, was tortoisesvn mit den UIB Komponenten zu tun haben könnten -, vermutlich bekommt man mit irgend einem Kunstgriff die aktuellsten Dateiversionen.



@ pixfreak

Jeder Versuch, mit Interbase Komponenten auf die Datenbank zuzugreifen, produziert im Firebird.log so einen Eintrag:
PC1 (Server) Mon May 31 21:50:38 2010
SERVER/process_packet: connection rejected for FRANZ.-1.-1

@ hoika
ich habe mit dieser fehlermeldung zum ersten Mal schon vor längerem in Verbindung mit Interbase-DBX Komponenten gerauft, und ohne Erfolg alle Arten von Verbindungsstrings (alias und direkter Dateiname) probiert

Aber eigentlich bin ich jetzt gar nicht mehr darauf erpicht, die Interbase Komponenten dazu zu bringen, sich mit dem Firebird Server zu verbinden, wenn ich damit rechnen muss, dass nach der Verbindung erst wieder irgend etwas nicht klappt. So viel ich weiss, kennt Interbase zum Beispiel beim INSERT die RETURNING Klausel nicht, die die neueren Firebird Versionen verstehen, deshalb ist es sehr fraglich, ob diese Klausel von Interbase-Komponenten dann unterstützt wird.

mkinzler 1. Jun 2010 13:12

Re: Zugriffskomponenten für Firebird
 
SVN ist eine Versionsverwaltung und Tortoise-SVN ein Client, um auf das Repository zuzugreifen

DeddyH 1. Jun 2010 13:16

Re: Zugriffskomponenten für Firebird
 
Siehe http://tortoisesvn.net/

idefix2 1. Jun 2010 14:01

Re: Zugriffskomponenten für Firebird
 
So weit ist mir das schon klar, trotzdem leuchtet mir nicht ein, was ich damit in Verbindung mit den UIB Dateien anfangen soll.

Ich habe die UIB Quelldateien in Form eines .tar.gz Archivs heruntergeladen und entpackt. Jetzt habe ich drei Basisverzeichnisse branches, tags und trunc. tags hat wieder zei Unterverzeichnisse v2_0 und v2_1, auch branches hat auch etliche Unterverzeichnisse, und darunter befindet überall die gleiche Unterverzeichnisstruktur, mit exdamples, source, packages, usw.. Die neuesten Files finde ich unter trunc, in tags und branches ist alles von 2007 und älter, also werde ich mich wohl an das Verzeichnis halten - obwohl der Code in tags\v2_1 im Gegensatz zu trunc threadsicher kompiliert werden könnte. Ich hoffe nur, dass ich mit dem file nicht ganz falsch liege.

mkinzler 1. Jun 2010 14:08

Re: Zugriffskomponenten für Firebird
 
Diese benötigst du um an die neuere Versionen der Komponenten zu gelangen

Lemmy 1. Jun 2010 16:18

Re: Zugriffskomponenten für Firebird
 
Hi,

dich braucht nur der Ordner \trunk\ zu interessieren, die restlichen sind Seitenzweige (branches) in denen neue Dinge ausprobiert werden oder bestimmte Versionen (tags). Kopier dir den Inhalt des Trunk-Verzeichnisses in dein Komponenten-Installationsverzeichnis und installier dir die KOmponenten.

Grüße

idefix2 1. Jun 2010 16:47

Re: Zugriffskomponenten für Firebird
 
danke - ungefähr so hab ich es mir vorgestellt - aber es ist fein zu hören, dass es wirklich so ist.

mkinzler 1. Jun 2010 21:00

Re: Zugriffskomponenten für Firebird
 
Ich habe es gerade den Zugriff auf FireBird 2.5 über IBX getestet, funktioniert problemlos. Bist du sicher, dass die Client-Bibliothek ( gd32.dll) zum Server ( FireBird) passt?

idefix2 1. Jun 2010 21:50

Re: Zugriffskomponenten für Firebird
 
Nachdem ich mich mit den Firebird DBX komponenten anmelden kann, bin ich eigentlich sicher.

mkinzler 2. Jun 2010 06:40

Re: Zugriffskomponenten für Firebird
 
Diese verwenden auch fbclient.dll und nicht die gds32.dll.

idefix2 2. Jun 2010 18:31

Re: Zugriffskomponenten für Firebird
 
Wie kommst Du auf die gds32.dll?
Als "vendorlib" habe ich fbclient eingestellt.

Jedenfalls habe ich für mich das Kapitel "Interbase-komponenten für Firebird" abgehakt, ich werde das jetzt nicht mehr weiter verfolgen.

mkinzler 2. Jun 2010 18:36

Re: Zugriffskomponenten für Firebird
 
IBX verwendet aber gds32.dll fix

idefix2 2. Jun 2010 18:52

Re: Zugriffskomponenten für Firebird
 
Ich habe jetzt probeweise die gds32.dll weggesichert und fbclient.dll auf gds32.dll kopiert, die Fehlermeldung beim Öffnen der Datenbank mit IBX bleibt die gleiche.

[edit]
Ich bin jetzt beim Probieren mit den UIB Komponenten und da habe ich ein seltsames Phänomen, mit dem vielleicht auch die Anmeldeschwierigkeiten bei IBX zusammenhängen: Ich habe der Einfachheit halber die alte gds32.dll, die vermutlich die Verbindung mit einer Interbase Datenbank herstellt, wegkopiert und habe die fbclient.dll auf gds32.dll kopiert, die beiden Files sind jetzt identisch. Wenn ich bei UIB als Libraryname gds32.dll angebe, bekomme ich beim Versuch, die Datenbankeigenschaft connected:=true zu setzen, die bekannte Fehlermeldung (Connection rejected). Aber wenn ich als Libraryname fbclient.dll angebe, funktioniert die Verbindung, obwohl die beiden DLL-Dateien absolut identisch sind. Ich habe auch schon überprüft, dass nirgends auf meiner Platte eine andere Version von gds32.dll herumschwirrt.
Entweder die UIB Komponenten benehmen sich je nach Name der Client-DLL unterschiedlich, oder der Firebird Server will mit einer gds32.dll nichts zu tun haben. Beides erscheint mir sehr eigenartig.

pixfreak 2. Jun 2010 21:08

Re: Zugriffskomponenten für Firebird
 
Interessant,

bei der Installation legt Firebird doch eine gds32.dll für Legacy Applicationen an, die nur eine Kopie der fbclient.dll ist...


VG Pixfreak

Alfredo 2. Jun 2010 21:46

Re: Zugriffskomponenten für Firebird
 
http://www.rrze.uni-erlangen.de/hilf...aq.shtml#FAQ10

Zitat:

gds32.dll oder ab Version 1.5. auch fbclient.dll sind die Treiber-Dateien für den Interbase/Firebird Server. Eine von ihnen, bei älteren Programmen in der Regel gds32.dll wird von allen Programmen unter Windows benötigt, die auf den Firebird Server zugreifen wollen.

idefix2 2. Jun 2010 21:58

Re: Zugriffskomponenten für Firebird
 
@ alfredo

ok, und was erklärt das?
Ich habe jetzt auf meinem PC zwei ABSOLUT IDENTISCHE Dateien mit den Namen fbclient.dll und gds32.dll.
Wenn ich in der Komponente als Library die fbclient.dll angebe, funktioniert die Verbindung.
Wenn ich in der Komponente als Library die gds32.dll angebe, funktioniert die Verbindung nicht.

Es ist mir ja im Prinzip egal, wie ich die DLL nenne, wenn sie fbclient.dll heissen muss, dann soll mir das recht sein. Ich verstehe nur überhaupt nicht, woran das liegen könnte, und würde es gerne wissen.

Alfredo 2. Jun 2010 22:12

Re: Zugriffskomponenten für Firebird
 
Hier die Erklärung und auch der richtige Workaround:

http://www.mwasoftware.co.uk/index.p...=84&Itemid=130

Zitat:

Renaming fbclient.dll to gds32.dll is probably the easiest strategy - but can result in other problems.
Manchmal ist es doch gut wenn man wissen will warum etwas funktioniert. :)

idefix2 3. Jun 2010 15:11

Re: Zugriffskomponenten für Firebird
 
Ich habe mir diese Artikel jetzt genau durchgelesen - Was dort steht, ist durchaus interessant, erklärt aber auch nicht das von mir beschriebene eigenartige Verhalten, nämlich dass das Funktionieren des connect nur vom Namen der DLL, aber nicht von ihrem Inhalt abhängt.

Nachdem UIB mit der FBClient.dll funktioniert und ich ohnehin schon mit einer beginnenden Glatze raufe, werde ich mir darüber jetzt keine zusätzlichen grauen Haare wachsen lassen und meine Nachforschungen in der Richtung einstellen. Wenn jemand doch noch eine Erklärung für das Phänomen findet, würde ich mich aber über ein Posting hier freuen.

edit: Wenn Du mit Workaround pas Patchen der DLL bzw. das ändern der IBX-Sourcen meinst - sie schreiben dort explizit, dass dieser Hack nur für Delphi 7, nicht aber für neuere Versionen nötig ist. Ich setze Delphi 2009 ein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 Uhr.
Seite 1 von 2  1 2      

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