Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Kann man den Datenbank Pfad vorgeben. (https://www.delphipraxis.net/183617-kann-man-den-datenbank-pfad-vorgeben.html)

ATS3788 23. Jan 2015 07:57

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

user0815 23. Jan 2015 08:37

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';

ATS3788 23. Jan 2015 11:24

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.

Uwe Raabe 23. Jan 2015 11:32

AW: Kann man den Datenbank Pfad vorgeben.
 
Liegt die fbclient.dll im Suchpfad?

user0815 23. Jan 2015 11:52

AW: Kann man den Datenbank Pfad vorgeben.
 
UniConnection.SpecificOptions.Values['ClientLibrary'] := 'C:\Program Files\Firebird_2_5\bin\fbclient.dll';

waldforest 23. Jan 2015 11:53

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.

tsteinmaurer 23. Jan 2015 12:07

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.

Perlsau 23. Jan 2015 12:29

AW: Kann man den Datenbank Pfad vorgeben.
 
Zitat:

Zitat von tsteinmaurer (Beitrag 1287551)
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.

Genau :thumb: Und deshalb lege ich meinen Bin-Verzeichnissen stets auch die entsprechenden DLL-Varianten bei und lasse meine Anwendung die DLLs im Programmverzeichnis verwenden. Bei Firebird Embedded soll die Anwendung ja auch auf Rechnern ohne installierten Firebird-Server laufen, was nur möglich ist, wenn ich die Embedded-DLL mitgebe. Um dieselbe Anwendung ohne Neukompilierung einmal als Server- und ein andermal als Embedded-Variante starten zu können, empfiehlt es sich, die entsprechenden Daten beim Start abzufragen: entweder via Ini-Datei oder Registry-Eintrag oder als Startparameter. Wenn ich Startparameter verwende, dann startet meine Anwendung ohne die Angabe von Startparametern stets als Embedded-Variante. Ich regle das inzwischen so, daß stets zwei Parameter angegeben werden (können): 0 oder 1 für Embedded oder Server, und ein String mit dem Namen für den Ordner, in dem sich die DB befindet. Als dritter Parameter wäre u.U. denkbar, auch den Speicherort der fbclient.dll anzugeben, da es zu Konflikten kommen kann, wenn ein Anwender zwar die Server-Variante nehmen will, aber einen veralteten Firebird-Server installiert hat.

Ü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:

Uwe Raabe 23. Jan 2015 12:53

AW: Kann man den Datenbank Pfad vorgeben.
 
Zitat:

Zitat von user0815 (Beitrag 1287547)
UniConnection.SpecificOptions.Values['ClientLibrary'] := 'C:\Program Files\Firebird_2_5\bin\fbclient.dll';

Delphi-Quellcode:
TFDConnection
hat aber kein Property
Delphi-Quellcode:
SpecificOptions
! Könnte es sein, daß du dich hier auf UniDAC beziehst?

Zitat:

Zitat von ATS3788 (Beitrag 1287542)
fbclient.dll der sich bei mir
im Ordner C:\Program Files\Firebird_2_5\bin\ befindet.

Dann versuch doch mal

Delphi-Quellcode:
  FDConnection1.Params.Values['VendorHome'] := 'C:\Program Files\Firebird_2_5';

ATS3788 23. Jan 2015 13:10

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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:16 Uhr.
Seite 1 von 3  1 23      

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