![]() |
Datenbank: Firebird • Version: 2.5 • Zugriff über: FireDAC
unsupported on-disk structure for file
Ich habe jetzt mal versucht, eine FB-Datenbank mit FireDAC zu benutzen.
Hier meine Erfahrungen und Probleme: Die Datenbank (FB 2.5) habe ich mit IBExpert angelegt. IBExpert benötigt die GDS32.dll. FireDAC benötigt aber die FBClient.dll Ich erhielt folgenden Fehler: "[FireDAC][Phys][IB]connection rejected by remote Interface" Zur Bereinigung muss man die addrivers.ini suchen und dort folgendes eintragen: Zitat:
Jetzt erhalte ich folgenden Fehler: "[FireDAC][Phys][IB]unsupported on-disk structure for file xxxx.FDB;found 15.0,support 11.2". Unterstützt FireDAC FB 2.5 nicht? Oder muss ich etwas bei der DB-Erstellung beachten? EDIT: Ich habe jetzt (nachgedacht und) im IBExpert direkt fbclient.dll eingestellt. Damit funktioniert es. |
AW: unsupported on-disk structure for file
Fein, daß es schon funktioniert!
Prinzipiell klingt das für mich so als hättest du nicht eine Client-DLL am laufen sondern die embedded-Variante von Firebird. Und da eine ältere Version als die, mit der die Datenbank erzeugt wurde. Prinzipiell sind auch bei aktuellen Releases von Firebird gds32.dll und fbclient.dll dabei bzw. ist das die gleiche Datei nur mit einem anderen Namen.... Luggi |
AW: unsupported on-disk structure for file
Zitat:
Punkt 14 : ![]() Zitat:
Zitat:
Zitat:
na bitte :-) |
AW: unsupported on-disk structure for file
Liste der Anhänge anzeigen (Anzahl: 1)
Ich komme einfach nicht klar. :-(
Teilweise konnte ich die Datenbank in meinem Projekt benutzen, nach dem nächsten Systemstart ging es dann nicht mehr. FireDAC neu installieren brachte z.T. Besserung, aber nicht immer und jetzt gar nicht mehr. Im Moment erhalte ich Fehlermeldungen wie "missing arg #4" (siehe Anhang). Mit IBExpert scheint die DB i.O. Ich bin jetzt ratlos, woran es liegen soll: FireBird, FireDAC, IBExpert? Firebird ist 2.5.2. Nicht embedded. FireDAC ist die XE3-Version. Das ![]() IBExpert ist etwas älter (2009.06.15). :-( Holger, was meinst Du, sollte ich mal updaten? :mrgreen: Bzw. wäre mit einer aktuellen Version da eine klare Besserung zu erwarten? Bisher hatte ich mit Datenbanken wenig zu tun und die Updates etwas "vernachlässigt". Aber selbst das alte IBExpert finde ich im Handling um Klassen besser als die Delphi Ultimate-Tools. :thumb: Welche Konstellationen nutzt Ihr im Zusammenhang mit FireDAC und Firebird, die stabil funktionieren? |
AW: unsupported on-disk structure for file
*ZaghafterPush* :oops:
(da ich seit 2-3 Tagen nicht vom Fleck komme) |
AW: unsupported on-disk structure for file
Also ich nutze Firebird 2.5.2, FireDAC (XE3), und als Admin-Tool nutze ich
![]() Ich glaube aber eher, dass bei dir ein Chaos bei den Client-Libraries vorliegt... Kann das sein? Wie sieht deine Komponentenstrukur aus? Ich mache das bei mir immer so: Ein Datenmodul mit: - einem TADPhysIBDriverLink - einer TADConnection - einem TADGUIxWaitCursor Den TADPhysIBDriverLink konfiguriere ich so: DriverID: FB25_SERVER Name: Firebird25DriverLink VendorLib: Pfad zur fbclient.dll (die DLL vom Server nehmen!) TADConnection richte ich so ein: Rechtsklick auf die Komponente > Connection Editor Da ich zuvor einen DriverLink mit dem Namen "FB25_SERVER" angelegt habe, wähle ich diesen unter "Driver ID" aus Dann gebe ich Database, User_Name, Password, Protocol (TCP), Server und CharacterSet ein. Danach klicke ich auf "Test" > Connection established successfully. anschließend lässt sich wie gewohnt mit TADQueries usw. arbeiten... Wie gesagt, ich glaube du verwendest einfach falsche Client-Libraries. Ich würde den ganzen Mist mit addrivers.ini usw. weglassen... den brauchst du nicht. Geb die DLL lieber direkt im TADPhysIBDriverLink an. Das kannst du natürlich zur Laufzeit auch entsprechend ändern (du kannst somit die DLLs in ein Unterverzeichnis deiner *.exe packen) C:\Programme\DeinProgramm\Bin\FBClient\fbclient.dl l |
AW: unsupported on-disk structure for file
Mein russisch ist nicht so übermäßig gut aber vielleicht kannst Du da etwas mit anfangen:
![]() ![]() Wenn ich das richtig verstanden habe, herrscht auf Deinem Rechner wohl ein Interbase/FireBird Kuddelmuddel. Hast Du mal überprüft, wo die notwendigen DLLs sich befinden? Und welche genutzt werden? Gruß K-H |
AW: unsupported on-disk structure for file
Danke Euch schon mal. Bin erst heute Abend an meinem Rechner.
Im gesamten System sind dutzende gds32 und fbclient DLL´s. Im System32 aber nur noch eine fbclient. Keine Ahnung, welche Programme/Teile nun was brauchen, daher habe ich mich noch nicht an´s löschen getraut. Das System hat schon ein paar Jahre auf dem Buckel. Ich werde FB mal neu installieren und dann mal sehen, ob ich eine "eigene" fbclient nutzen kann und die aktuelle "zentrale" aus System32 werfen. |
AW: unsupported on-disk structure for file
Hi,
kannst Du Firedac denn nicht sagen, welche client.dll er genau nutzen soll? In das exe Verzeichnis kopieren und vor dem Verbinden die DLL zuweisen... GRüße |
AW: unsupported on-disk structure for file
doch, geht... (siehe meinen Beitrag #6)
|
AW: unsupported on-disk structure for file
aah.. wer lesen kann ;-)
|
AW: unsupported on-disk structure for file
Ich würde alle FB-DLLs rausschmeißen und nur die vom aktuellen FB-Server nehmen. Interbase, falls vorhanden, deinstallieren.
Da das 'Chaos' mit dem Namen der DLL bekannt ist (bzw. Interbase und FB unterschiedlichen Namen verwenden), dürften auch alle Zugriffstools (IBExpert, Robin, Maestro, DAC, IBTools (diese TIBxxx-Komponenten) etc.) in der Lage sein, den Namen der DLL anzupassen. Ich kann mich noch dunkel daran erinnern, wie ich ausgerastet bin. Aufräumen hilft aber hier immer. |
AW: unsupported on-disk structure for file
Danke Euch allen!
Hier hatte ich auch noch einen ähnlichen Thread gefunden: ![]() Also ich habe folgendes gemacht: - FireDac deinstalliert - Firebird deinstalliert - Interbase deinstalliert - gds32.dll und fbclient.dll aus System32 entfernt - dann Firebird neu und nur fbclient.dll in System32 (mit IBExpert konnte ich meine DB öffnen) - FireDac neu (die Einrichtung der Firebirdverbindung habe ich weiter über die oben genannte addrivers.ini geregelt). Über FireDac konnte ich dann nicht auf localhost zugreifen: ![]() Nach 2 Systemneustarts ging es dann wieder. Jetzt scheint es soweit zu laufen. :thumb: Ich vermute mal, dass letztlich der Interbase die Probleme gemacht hatte. PS: Aus dem Grund dieser Komplexität würde ich Neueinsteigern zum Lernen von Datenbanken durchaus noch die BDE empfehlen. |
AW: unsupported on-disk structure for file
Komplexität würde ich nicht unbedingt sagen, eher Unordnung auf Deinem System. Es gibt ja auch in FireDAC einen Infodialog wo Du genau siehst welche Dll in welcher Version geladen wurde.
|
AW: unsupported on-disk structure for file
Zitat:
|
AW: unsupported on-disk structure for file
Zitat:
|
AW: unsupported on-disk structure for file
Würde die fbclient.dll und / oder GDS32.dll. direkt ins Applikationsverzeichnis legen und die entsprechenden dll' s aus dem Systemverzeichnissen komplett löschen, den oft hat man da historische Versionen und dann gibt es Versionscrunch. Das hat bei mir immer gut funktioniert.
Grüße in die Runde // Martin PS: Das dii BDE immernoch mitgeliefert wird, führt Neueinsteiger teils in eine falsche Richtung. Das ist nicht wirklch professionell. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:35 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