![]() |
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. |
Re: Zugriffskomponenten für Firebird
Hi !
Warum nimmst du nicht die Interbase Komponenten. Die sollten bei D2009 mit Firebird auch funktionieren. Gruss |
Re: Zugriffskomponenten für Firebird
-ZeosLib7(Alpha
-UIB (SVN) |
Re: Zugriffskomponenten für Firebird
Zitat:
|
Re: Zugriffskomponenten für Firebird
Dann halt Alpha :zwinker:
|
Re: Zugriffskomponenten für Firebird
Zitat:
![]() Ich habe es leider nicht geschafft, die zum Laufen zu bringen, siehe ![]() |
Re: Zugriffskomponenten für Firebird
Er meint Interbase Express (IBX), welche Unter "Interbase" bei Delphi zu finden sind
|
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.
|
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. |
Re: Zugriffskomponenten für Firebird
Hi,
für die UIB musst Du dir den aktuellen Stand aus den SVN-Repository runter laden: ![]() Wenn Du SVN nicht kennst, dann installier dir z.B. das hier herunter: ![]() Grüße Lemmy |
Re: Zugriffskomponenten für Firebird
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Gruß Alfred |
Re: Zugriffskomponenten für Firebird
Dein Problem scheinen nicht die Komponenten zu sein. Irgend etwas scheint an deiner Firebird-Installation nicht zu stimmen
|
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. 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 |
Re: Zugriffskomponenten für Firebird
Zitat:
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... |
Re: Zugriffskomponenten für Firebird
Zitat:
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 |
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 |
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. |
Re: Zugriffskomponenten für Firebird
Zitat:
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 |
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:
|
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 |
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 |
Re: Zugriffskomponenten für Firebird
Hallo,
probier mal statt dem Alias-Namen den direkten Pfad, obwohl es clientseitig keine Rolle spielen sollte. Heiko |
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. |
Re: Zugriffskomponenten für Firebird
SVN ist eine Versionsverwaltung und Tortoise-SVN ein Client, um auf das Repository zuzugreifen
|
Re: Zugriffskomponenten für Firebird
Siehe
![]() |
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. |
Re: Zugriffskomponenten für Firebird
Diese benötigst du um an die neuere Versionen der Komponenten zu gelangen
|
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 |
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.
|
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?
|
Re: Zugriffskomponenten für Firebird
Nachdem ich mich mit den Firebird DBX komponenten anmelden kann, bin ich eigentlich sicher.
|
Re: Zugriffskomponenten für Firebird
Diese verwenden auch fbclient.dll und nicht die gds32.dll.
|
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. |
Re: Zugriffskomponenten für Firebird
IBX verwendet aber gds32.dll fix
|
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. |
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 |
Re: Zugriffskomponenten für Firebird
![]() Zitat:
|
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. |
Re: Zugriffskomponenten für Firebird
Hier die Erklärung und auch der richtige Workaround:
![]() Zitat:
|
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 11:51 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-2025 by Thomas Breitkreuz