![]() |
Datenbank: Firebird • Version: 2.5 • Zugriff über: firedac
Kann man den Datenbank Pfad vorgeben.
Hallo
Ich habe seit heute das Problem das FDConnection, den Standard fdcliend.dll nicht mehr benutzt, anstatt, möchte er auf eine fbembed.dll Version zugreifen, was nicht geht und auch nicht soll. Ich habe ein total neues Projekt erstellt mit den gleichen Ergebnis. Mit dem Tool FireDac - Explorer habe ich keine Probleme. Kann man Delphi vorgeben wo er die Datenbank suchen soll. IBExpert funktioniert ohne Probleme. Danke für die Antworten |
AW: Kann man den Datenbank Pfad vorgeben.
Müsste man doch wie folgt (Datenmodul) zuweisen können oder ?
Delphi-Quellcode:
UniConnection.SpecificOptions.Values['ClientLibrary'] := ExeProgramDirectory + 'fbclient.dll';
|
AW: Kann man den Datenbank Pfad vorgeben.
Danke :(
Ich meine nicht die xxxx.fdb ich meine fbclient.dll der sich bei mir im Ordner C:\Program Files\Firebird_2_5\bin\ befindet. |
AW: Kann man den Datenbank Pfad vorgeben.
Liegt die fbclient.dll im Suchpfad?
|
AW: Kann man den Datenbank Pfad vorgeben.
UniConnection.SpecificOptions.Values['ClientLibrary'] := 'C:\Program Files\Firebird_2_5\bin\fbclient.dll';
|
AW: Kann man den Datenbank Pfad vorgeben.
Hallo,
ich mach es genau so, Datenmodul.DataModule1.con_to_Datei.Database := Datenbank_Server; Datenmodul.DataModule1.con_to_Datei.Protocol := 'firebird-2.5'; Datenmodul.DataModule1.con_to_Datei.HostName := 'localhost' ; Datenmodul.DataModule1.con_to_Datei.Port := 3050; Datenmodul.DataModule1.con_to_Datei.LibraryLocatio n := ExtractFilePath(Application.ExeName)+'fbclient.dll ' Sofern die dll nicht im aktuellen Verzeichnis liegt diese entsprechend anpassen. |
AW: Kann man den Datenbank Pfad vorgeben.
Wichtig ist, dass die Bitness (32 vs. 64-bit) der FB Clientbibliothek gleich der Client-Anwendung ist. D.h. eine 32-bit Delphi Anwendung wird mit der fbclient.dll aus einem 64-bit Firebird \bin Verzeichnis nichts anfangen können.
|
AW: Kann man den Datenbank Pfad vorgeben.
Zitat:
Übrigens sollte man nicht die 32-/64-Bit-Architektur der Datenbank-Anwendung, die jeweils eine 32-/64-Bit-Client-DLL benötigt, mit der 32-/64-Bit-Architektur des installierten Firebird-Servers oder gar des eingesetzten Betriebssystems verwechseln – ist natürlich nicht an dich adressiert, Thomas :stupid: |
AW: Kann man den Datenbank Pfad vorgeben.
Zitat:
Delphi-Quellcode:
hat aber kein Property
TFDConnection
Delphi-Quellcode:
! Könnte es sein, daß du dich hier auf UniDAC beziehst?
SpecificOptions
Zitat:
Delphi-Quellcode:
FDConnection1.Params.Values['VendorHome'] := 'C:\Program Files\Firebird_2_5';
|
AW: Kann man den Datenbank Pfad vorgeben.
Ja Uwe ich habe es
im System Dir der System Steuerung eingefügt. Letzte Woche hatte alles noch funktioniert. Nur da hatte ich Probleme mit IBExpert und habe dies mit neu installiert um gds32.dll ins Systempfad zu installieren. Nun habe ich das Desaster IBExpert geht und FD mag nicht. |
AW: Kann man den Datenbank Pfad vorgeben.
Liste der Anhänge anzeigen (Anzahl: 1)
Uwe da kommt immer noch die Meldung
siehe Anhang |
AW: Kann man den Datenbank Pfad vorgeben.
Du wirst ja irgendwo eine Komponente "TFDPhysIBDriverLink" verbaut haben.
Dort kannst Du in der Eigenschaft "VendorLib" mal ganz konkret den Pfad zu einer existierenden fbclient.dll eintragen. Später zur Laufzeit wirst Du das natürlich an die jeweiligen tatsächlichen Gegebenheiten anpassen müssen. Für einen ersten Test auf Deinem eigenen System langt aber eine fixe Pfadangabe im Objekt-Inspektor. //Edit: ![]() und ![]() |
AW: Kann man den Datenbank Pfad vorgeben.
Und Du bist Dir zu 100% sicher, dass sich die 32Bit-Version mindestens einer der beiden DLLs im angegebenen Verzeichnis befindet?
|
AW: Kann man den Datenbank Pfad vorgeben.
Perlsau
ja das macht Sinn was Du sagst Ich lasse mein Applikation mit 64bit kompilieren, weil ich Firebird x64 installiert habe. Hier hatte ich noch 32 bit eingestellt Danke Also
Delphi-Quellcode:
Nur der Grund warum ich den Firebird Server installiert habe.
procedure TForm1.Button1Click(Sender: TObject);
begin FDConnection.Connected := True; FDTable1.Active := True; end; weil es einfach ist mit einer aktiven Datenbank zu arbeiten. |
AW: Kann man den Datenbank Pfad vorgeben.
Zitat:
|
AW: Kann man den Datenbank Pfad vorgeben.
Die Bittigkeit des servers ist aber nicht von Belang. Es geht um die, der Anwendung. Eine 32Bit-Anwendung benötigt die 32Bit Dll und funktioniert damit auch mit dem x64-Server.
|
AW: Kann man den Datenbank Pfad vorgeben.
Zitat:
Zitat:
Um genau dieser Verwechslung vorzubeugen, hatte ich ![]() Übrigens sollte man nicht die 32-/64-Bit-Architektur der Datenbank-Anwendung, die jeweils eine 32-/64-Bit-Client-DLL benötigt, mit der 32-/64-Bit-Architektur des installierten Firebird-Servers oder gar des eingesetzten Betriebssystems verwechseln. Mit anderen Worten: Du kannst auch den 64-Bit-Server deiner Firebird-Installation mit einer 32-Bit-Datenbankanwendung, die eine 32-Bit-fbclient.dll benötigt, ansprechen. |
AW: Kann man den Datenbank Pfad vorgeben.
Danke an euch allen.
Ich möchte mich noch mal sehr bei euch bedanken das ihr so fähig und hilfsbereit sein.:thumb: Also ich habe nun den 32 bit Server installiert und nun geht es wieder wie ich möchte. Es liegt wohl daran das Delphi ein 32 bit Anwendung ist. Ich kann ja dann zur Laufzeit die 64 bit Embedded laden. Martin Michael |
AW: Kann man den Datenbank Pfad vorgeben.
Aber es lag doch eben nicht am Server. Wenn Du ein 32Bit-Programm hast, brauchst Du auch die 32Bit-DLL, bei einem 64Bit-Programm dann die 64Bit-DLL, da liegt der Hase im Pfeffer. Ob der Firebird-Server nun 32 oder 64 Bit hat, spielt dabei keine Rolle.
|
AW: Kann man den Datenbank Pfad vorgeben.
Zitat:
|
AW: Kann man den Datenbank Pfad vorgeben.
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat:
Mal ganz langsam zum mitmalen: Wenn du ein neues Projekt z.B. mit XE7 beginnst, dann legst du dir doch zuvor eine Ordnerstruktur an. In den Ordner, der deine 32-Bit-Binärdateien enthalten soll – Programmordner für 32-Bit-Programme – kommen die 32-Bit-DLLs hinein, in den Ordner für deine 64-Bit-Programme die 64-Bit-DLLs. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:06 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 by Thomas Breitkreuz