AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird Embedded

Ein Thema von Jens Hartmann · begonnen am 27. Sep 2009 · letzter Beitrag vom 27. Okt 2009
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#11

Re: Firebird Embedded

  Alt 29. Sep 2009, 08:26
Zitat von tsteinmaurer:
Im Connect-Pfad, einfach nur den Pfad zur Datenbank angeben. Kann auch nur das DB-File sein, wenn sich die EXE und das DB-File in deiner Distribution im selben Verzeichnis befinden.
Danke, das heißt doch dann für mich, das ich jede Version, die ich so ausliefern würde, definitiv nur Einplatzfähig wäre.

Folgerung:

Embedded Version = Auslieferung Einplatzversion
Firebird Server = Mehrplatzfähigkeit möglich.


MFG

Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
530 Beiträge
 
#12

Re: Firebird Embedded

  Alt 29. Sep 2009, 08:29
Hallo Jens,

genau das heißt es.
  Mit Zitat antworten Zitat
neo4a

Registriert seit: 22. Jan 2007
Ort: Ingolstadt
362 Beiträge
 
Delphi XE2 Architect
 
#13

Re: Firebird Embedded

  Alt 29. Sep 2009, 11:02
Zitat von tsteinmaurer:

genau das heißt es.
Vielleicht aber auch nicht . Die Einzel- oder Mehrplatzfähigkeit bestimmst Du mit der FB-Version, die Du aus Deiner Applikation ansprichst: Kannst Du Deine DB über einen installierten FB-Server ansprechen (ServerIP:c:\data\MeineDB.fdb), ist Dein Programm automatisch mehrplatzfähig; öffnest Du die DB per Connection-String jedoch exklusiv als Datei (c:\data\MeineDB.fdb), dann ist es halt "nur" ein Einzelplatzsystem.

Mit der Embedded-FB-Version kannst Du bei der Installation auf Zielsystemen eine DB-Umgebung mitliefern, die sich konfliktfrei und unabhängig von bereits installierten FB-Instanzen einrichten lässt: dann eben im Single-User-Betrieb.

Ich habe hier gezeigt, dass man auch eine Serverinstanz installationsfrei ausliefern kann. (Letztlich startet die App intern auch nur einen FB-Server im Applikation-Modus; ich habe das alles zusätzlich noch hoch komprimiert und unkaputtbar/manipulationsfrei in eine Exe gesteckt.) Hier reduziert sich dann das Risiko von Installationskonflikten lediglich auf die freie Portnummer bzw. Portfreigabe. Diese Lösung ist dann zwar kein Server-Dienst, aber dafür braucht es zum Start (ohne Installation) auch keine Admin-Berechtigung. Damit kann ich Mehrplatz-Applikationen ausliefern in Umgebungen, die mir ansonsten keinen administrativen Eingriff erlauben oder wo potentiell bereits andere FB-Versionen installiert sind.

--
Andreas
Andreas
  Mit Zitat antworten Zitat
tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
530 Beiträge
 
#14

Re: Firebird Embedded

  Alt 29. Sep 2009, 11:32
Hallo,

nettes Proof-Of-Concept.

D.h. aber auch, dass deine EXE zuerst einmal gestartet werden muss. Sei es durch den Benutzer oder erstmalig durch die darauf zugreifende Applikation. Bei der vom Firebird Projekt zur Verfügung gestellten Embedded Variante geschieht dies ja implizit durch das Laden der Embedded-DLL. Beide Konzepte haben für und wider, die ja bereits diskutiert wurden.

Keine Ahnung, ob deine Sache dann überhaupt noch etwas mit "Firebird" zu tun haben darf, oder ob du das z.B. AndiDB taufen mußt.

Seit Firebird 2.1 gibt es ja auch noch die Möglichkeit über instsvc mehrere Instanzen als Dienst zu installieren. Installation allerdings wieder mit Admin-Rechten. Geht prima mit der ZIP-Distribution. Theoretisch könnte der Inhalt der ZIP-Distribution in ein eigenes Setup-Skript mitreingepackt werden, mit entsprechendem Aufruf von instsvc.exe.

Ehrlich gesagt ist mir persönlich ein "Dedicated" installierter Dienst für ein RDBMS im Multi-User Betrieb lieber. Bzgl. Firebird Embedded ist auch noch zu sagen, dass mehrere Connections über den Prozess, der die fbembedded.dll geladen hat, ja möglich sind. D.h. Multi-Connection aus einem Prozess heraus geht ja.

Wie gesagt, interessantes Konzept, bitte nicht falsch verstehen.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Firebird Embedded

  Alt 29. Sep 2009, 11:35
Zudem da Verbesserungen in FB 3 zu erwarten sind; wenn diese mal kommt ( traditionell im Novemeber des aktuellen Jahres)
Markus Kinzler
  Mit Zitat antworten Zitat
tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
530 Beiträge
 
#16

Re: Firebird Embedded

  Alt 29. Sep 2009, 11:39
Hallo Markus,

die Vergangenheit hat gezeigt, dass die angekündigten Release-Dates "unglaubwürdig" sind. Man braucht sich nur die Roadmap mit Stand Ende Dezember 2008 ansehen. Immer verspätet, bekommt man dann allerdings ein stabiles Produkt. Das kann ja auch was.
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#17

Re: Firebird Embedded

  Alt 29. Sep 2009, 11:49
Moin,

so verbindest du dich zur Embedded DB:
Delphi-Quellcode:
function TBdBDatabase.Connect: boolean;
begin
 with fConnection do
  begin
    Protocol := 'firebird-2.0';
    ReadOnly := false;
    User := 'SYSDBA';
    Password := 'masterkey';
    Database := ExtractFilePath(ParamStr(0)) + 'db.FDB';
    HostName := '';
    try
      Connect;
    except
     ...
    end;
    Result := Connected;
end;
  Mit Zitat antworten Zitat
neo4a

Registriert seit: 22. Jan 2007
Ort: Ingolstadt
362 Beiträge
 
Delphi XE2 Architect
 
#18

Re: Firebird Embedded

  Alt 29. Sep 2009, 11:49
Zitat von tsteinmaurer:
D.h. aber auch, dass deine EXE zuerst einmal gestartet werden muss. Sei es durch den Benutzer oder erstmalig durch die darauf zugreifende Applikation. Bei der vom Firebird Projekt zur Verfügung gestellten Embedded Variante geschieht dies ja implizit durch das Laden der Embedded-DLL.
Stimmt, (m)eine Applikation startet (implizit) den Serverprozess.

Zitat von tsteinmaurer:
Keine Ahnung, ob deine Sache dann überhaupt noch etwas mit "Firebird" zu tun haben darf, oder ob du das z.B. AndiDB taufen mußt.
Ich nenne es halt "portabel" und nur dafür ist es gut: 4MB und ein Full-Featured-SQL-Server - das hat schon was

--
Andreas
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#19

Re: Firebird Embedded

  Alt 29. Sep 2009, 19:30
Alles ganz interesant zu lesen,

aber ich denke in meinem Fall ist erstmal die Embedded Version ausreichend. Ich will zwar zu einem späteren Zeitpunkt eine Mehrplatzversion realisieren, aber ich denke ich sollte erstmal die Einplatzversion richtig fertig stellen.

Danke nochmal an alle und auch für die Interesanten Anregungen.

MFG

Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
neo4a

Registriert seit: 22. Jan 2007
Ort: Ingolstadt
362 Beiträge
 
Delphi XE2 Architect
 
#20

Re: Firebird Embedded

  Alt 29. Sep 2009, 19:46
Je nachdem, wie ernsthaft Du Deine App. entwickelst, möchte ich nur ganz leise anmerken, dass Mehrbenutzerfähigkeit per Design passiert. Das hat erst einmal nichts mit der verwendeten Firebird-Komponente zu tun. Es ist okay, wenn Du erst einmal die Anmeldung im Code erledigst und der Connection-String nur eine lokale DB zulässt (gerne auch mit FileOpen-Dialog), aber alle anderen Dinge (Verwendung von Transaktionen, Generatoren etc.) sollten von Anfang an so ausgelegt sein, dass *zeitgleich* mehrere User mit der DB arbeiten.

Dann ist der spätere Wechsel zwischen Single- und Multi-User-Betrieb nur ein Klacks.

--
Andreas
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 23:18 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