![]() |
Firebird 1.5 embedded benutzen
Hi Leute,
in dem großen Thread zu der verschiedenen Datenbanken, wird unter anderem auch die Lösung Firebird embedded diskutiert. Ich habe jetzt gerade versucht über Zeos auf eine Datenbank zuzugreifen ! Jetzt habe ich bei mir auch einen Firebird Server installiert, solange der Server-Dienst läuft läuft auch meine App, aber wenn ich den Service beende bekomme ich leider keinen Zugriff mehr auf die DB. Ich bekomme immer die Fehlermeldung : "Unable to complete network request to host 127.0.0.1" Es ist doch richtig, wenn ich die folgenden Properties setze : Database: Pfad auf den DB-File(habe schon als Endung .gdb und .fdb versucht) Host: 127.0.0.1 Login: blabla Password: blabla2 Loginprompt: false Aber wo bekommt jetzt die App mit das die Embedded Version von Firebird benutzt werden soll ? Die ganzen benötigten Files liegen im Programm Verzeichnis meiner App. Wer kann mir weiter helfen ? |
Re: Firebird 1.5 embedded benutzen
Das geht nur lokal. Im Netzwerk muß der "richtige" Server installiert sein. Ich benutze das z.B. um eine Demo zu installieren, ohne eine bestehende Interbase-Konfiguration zu stören.
Netzwerk ist ein ganz anderes Thema. 8) |
Re: Firebird 1.5 embedded benutzen
Hi Hansa,
ich will ja auch nur lokal auf eine DB zugreifen, der Zugriff kann auch exklusiv sein. Warum geht es nicht bei mir ? 127.0.0.1 ist doch lokal |
Re: Firebird 1.5 embedded benutzen
Üblicherweise heißt die Festplatte C:, D: oder so ähnlich und nicht 17.132.132.499 :mrgreen:
P.S.: die Fehlermeldung sagt eigentlich schon genug. 8) |
Re: Firebird 1.5 embedded benutzen
also soll ich bei Host den Pfad zur DB eintragen ?
|
Re: Firebird 1.5 embedded benutzen
Hi,
ich kenne die Zeos nicht, aber versuch mal beim Host gar nix einzutragen.... Win Zugriff über 127.0.0.1 ist nämlich nicht dasselbe wie ein lokaler Zugriff!!! Grüße Lemmy |
Re: Firebird 1.5 embedded benutzen
Ich verstehe die Frage sowieso nicht. Ich nehme eine Database, eine Transaction und ein Dataset (mit FIBplus). Der Database ordne ich deb richtigen Dateinamen zu und halt dann der Rest. Für irgendwas anzuzeigen eben noch ein DBgrid und eine Datasource. Das geht immer ! :P
|
Re: Firebird 1.5 embedded benutzen
Also wenn ich das richtig verstanden hab, dann hast Du Dir FB-Server installiert. Um aber den Embedded-Server zu nutzen ist dies an sich nicht nötig. Lade dir FB-Embedded herunter und kopier die darin enthaltete fbembedded.dll (Name aus'm Kopf - Ohne Gewähr) in Dein App-Verzeichniss und nenne sie um nach fbclient.dll. Dies steht auch in der Doku zum Embedded-Server. Du brauchst im App-Verzeichniss u.a.:
\fbclient.dll \firebird.msg \intl\fbintl.dll \udf\fbudf.dll \udf\fbudf.sql \udf\ib_udf.dll \udf\ib_udf.sql Um Dich dann mit dem Server über TZConnection zu verbinden:
Code:
...und dann wie gewohnt mit z.B. TZQuery:
ZConnection.Database:= szMyDBFile; // Absolut, also z.B. 'C:\myDB.fdb' und keine IP und auch kein UNC-Name!
ZConnection.Connect;
Code:
Ach ja: Etwas tricky ist das Anlegen einer neuen DB mittels Zeos. Ein kleines Beispiel:
Query.Connection:= ZConnection;
//...
Code:
Hoffe das hilft weiter.
ZConnection.Properties.Clear;
ZConnection.Properties.Text:= 'createNewDatabase=CREATE DATABASE '''+DBName+''' PAGE_SIZE=8192 USER ''SYSDBA'' PASSWORD ''masterkey''; exit;'; try ZConnection.Connect; // Ok except // Fehler end; ZConnection.Properties.Clear; Grüsse! |
Re: Firebird 1.5 embedded benutzen
Hi,
also mein Problem ist folgendes : Normalerweise benutze ich immer die CS-Version von Firebird, jetzt möchte ich aber in einem neuen Projekt die Firebird embedded Version benutzen, dazu verwende ich die Komponenten von Zeos(TIBDatabase, TIBSQlTRansact,TIbSqlTable, TIbSqlQuery). Wenn ich mir jetzt eine kleine Test-Anwendung zusammen klicke und bei TIbDatabase folgende Properties setze : Database=c:\Test\myDb.fdb Host=127.0.0.1 oder gar nix eingetragen Login=blabla Password=keine Ahnung LoginPrompt=false und dann connected auf true setzen will, funktioniert das nur wenn der Firebird Server Dienst läuft. Die benötigten Dateien für die embedded version befinden sich im Anwendungsverzeichnis, muss ich in diesen Dateien noch irgentwas einstellen ? Oder muss ich was anderes bei den oben genannten Properties einstellen ? Wenn ich bei Host 127.0.0.1 eintrage bekomme ich die Fehlermeldung : "Unable to complete network to host 127.0.0.1" Wenn ich den Host leer lasse bekomme ich die Fehlermeldung : "unavaiable database" Was mache ich falsch ? Woher weiß die TIbDatabase Komponente das die embedded dll benutzt werden muss ? |
Re: Firebird 1.5 embedded benutzen
Hi,
es hat niemand gesagt das das ganze nur zur Laufzeit funktioniert :wall: Also zur DesignTime connected auf true setzen bringt oben genannte Fehlermeldungen. Zur Laufzeit connected auf true setzen oder .connect aufrufen funktioniert jetzt einwandfrei :wall: Jetzt kann ich normal weiter arbeiten :mrgreen: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:40 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