Delphi-PRAXiS
Seite 4 von 6   « Erste     234 56      

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 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 17:28 Uhr.
Seite 4 von 6   « Erste     234 56      

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