AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Firebird embedded vs. Server
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird embedded vs. Server

Ein Thema von user0815 · begonnen am 27. Apr 2012 · letzter Beitrag vom 2. Mai 2012
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von user0815
user0815

Registriert seit: 5. Okt 2007
331 Beiträge
 
Delphi XE2 Professional
 
#1

Firebird embedded vs. Server

  Alt 27. Apr 2012, 08:23
Datenbank: Firebird • Version: 2.0.7 • Zugriff über: UniDAC
Hallo,

ich habe hier eine EXE mit TInterbaseUniProvider sowie einer TUniConnection.
Die Connection zur DB baue ich wie folgt auf.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  UniConnection.Server := 'localhost';
  UniConnection.Database := ExtractFilePath(ParamStr(0)) + 'employee.fdb';
  UniConnection.Connected := true;

  if not UniConnection.Connected then exit;

  UniQuery1.Active := UniConnection.Connected;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  UniConnection.Server := '';
  UniConnection.Database := ExtractFilePath(ParamStr(0)) + 'employee.fdb';
  UniConnection.Connected := true;

  if not UniConnection.Connected then exit;

  UniQuery1.Active := UniConnection.Connected;
end;
Im (Debug) EXE Verzeichnis liegen die folgenden Dateien: employee.fdb, fbclient.dll, firebird.conf, firebird.msg, FirebirdTest.exe, ib_util.dll, icudt30.dll, icuin30.dll, icuuc30.dll, Microsoft.VC80.CRT.manifest, msvcp80.dll, msvcr80.dll

Lokal habe ich hier auf dem Win7 Rechner den Firebird Server als Dienst laufen. Drücke ich auf Button1 so werden mir die Daten einer Tabelle angezeigt.
Drücke ich auf Button2 so erhalte ich die nachfolgende E:Exception Meldung: unavailable database

Kopiere ich alle Daten aus diesem Verzeichnis & starte die EXE auf einem anderen PC (wo kein Firebird Server läuft) so werden mir die Daten bei Button2 Click angezeigt.

Ich dachte man kann auf einem Rechner sowohl die Server als auch die Embedded Version ausführen.
Was mache ich falsch ?
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#2

AW: Firebird embedded vs. Server

  Alt 27. Apr 2012, 08:33
Wenn ich es noch richtig weiß, wird glaube ich primär auf den Server zugegriffen, wenn dieser gestartet ist oder als Dienst läuft.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Firebird embedded vs. Server

  Alt 27. Apr 2012, 09:02
Beim embedded (Server) Client wird beim Zugriff über lokales Protokoll anstatt auf den Server direkt auf die Datenbankdatei zugegriffen. Beim Zugriff über Netzwerkprotokoll ( Server=loclahost) wird auf den Server(dienst) zugegriffen. Da der embedded Client von Firebird < 2.5 auf der SuperServer-Architektur basiert, wird exklusiver Zugriff auf die datenbankdatei benötigt. Das aber der Server schon darauf zugreift wird das nicht möglich sein. Ab Firebird 2.5 wird die SuperClassic Architektur verwendet, hier geht der parallele Zugriff.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von user0815
user0815

Registriert seit: 5. Okt 2007
331 Beiträge
 
Delphi XE2 Professional
 
#4

AW: Firebird embedded vs. Server

  Alt 27. Apr 2012, 10:17
Danke für die Antworten.

Anscheinend muss der Dienst nur vorhanden sein.
"Button2Click" funktioniert auch nicht wenn ich den Dienst manuell beende oder deaktiviere.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Firebird embedded vs. Server

  Alt 27. Apr 2012, 12:18
Komsich. Was für ein Fehler wird genau angezeigt/geloggt?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von user0815
user0815

Registriert seit: 5. Okt 2007
331 Beiträge
 
Delphi XE2 Professional
 
#6

AW: Firebird embedded vs. Server

  Alt 27. Apr 2012, 12:31
Wenn ich den Dienst beende dann erhalte ich jeweils die nachfolgenden E:Exception Meldung:

Button2Click:
"unavailable database"

anschließend Button1Click (ist ja auch logisch ohne Dienst):
Unable to complete network request to host "@1".
Failed to establish a connection.
Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Firebird embedded vs. Server

  Alt 27. Apr 2012, 12:33
Un in der Logdatei?
Markus Kinzler
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Firebird embedded vs. Server

  Alt 27. Apr 2012, 13:05
HI,

was für ne fbClient.dll wird denn verwendet? die Client.DLL vom Server oder eine umbenannte fbembedded.dll?

Grüße
  Mit Zitat antworten Zitat
Benutzerbild von user0815
user0815

Registriert seit: 5. Okt 2007
331 Beiträge
 
Delphi XE2 Professional
 
#9

AW: Firebird embedded vs. Server

  Alt 27. Apr 2012, 13:25
LOG: Anwendung gestartet + getestet, dann Dienst beendet und Anwendung nochmal gestartet + getestet.

Code:

XXXXX (Client)   Fri Apr 27 13:12:02 2012
   Guardian starting: "J:\Program Files (x86)\Firebird\bin\fbserver.exe"

XXXXX (Client)   Fri Apr 27 13:12:58 2012
   "J:\Program Files (x86)\Firebird\bin\fbserver.exe": normal shutdown

XXXXX (Client)   Fri Apr 27 13:13:12 2012
   INET/inet_error: connect errno = 10061

XXXXX (Client)   Fri Apr 27 13:13:15 2012
   INET/inet_error: connect errno = 10061
Ist eine umbenannte fbembed.dll zu fbclient.dll (Dateiversion: 2.5.1.26351 aus 32-bit Embedded)
Sollte doch keine Probleme trotz Win7 64bit geben
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Firebird embedded vs. Server

  Alt 27. Apr 2012, 13:29
Es wird ein Netzprotokoll verwendet, dass veranlasst den Guardian, den Server zu starten.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:14 Uhr.
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