Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Embedded Datenbanken - hat jemand Erfahrung ? (https://www.delphipraxis.net/128012-embedded-datenbanken-hat-jemand-erfahrung.html)

g1o2k4 22. Jan 2009 18:01

Datenbank: SQL • Zugriff über: -

Embedded Datenbanken - hat jemand Erfahrung ?
 
tag.

hat jemand erfahrung mit embedded sql datenbank ? wenn ja welche sind zu empfehlen und vorallem delphi kompatibel ?
was ich unter embedded verstehe, ist eine datenbank, deren komponenten direkt in der exe liegen und mitkompiliert werden, ohne das man nen server, netzwerk oder eine exe als server auf dem system benötigt.
ich glaube firebird und mysql stellen sowas zur verfügung. ist das zu empfehlen ?
gibt es für delphi komponenten, die die datenbank verwaltung übernehmen, so dass man diese einbindet, benutzt und anschließend quasi einen sql server in der exe hat, als thread z.b.?

ich rede jetzt nicht soetwas wie xml, access oder mybase. es sollte schon sql sein und eine gute performance liefern.

mirage228 22. Jan 2009 18:15

Re: Embedded Datenbanken - hat jemand Erfahrung ?
 
Ich habe mal für ein Projekt Firebird Embedded benutzt in Zusammenarbeit mit den frei erhältlichen ZEOS Komponenten. Du brauchst nur 1 oder 2 Dateien im Programmverzeichnis (die Firebird DLL und noch eine andere). Die erzeugte Datenbank wird auch in einer einzelnen Datei angelegt. Performance kann ich aber nur bedingt etwas zu sagen, weil ich jetzt nicht sooo viele Daten hatte ... Die Kombination (FBEmbedded & ZEOS) kann ich Dir aber sonst nur empfehlen.

Viele Grüße

DeddyH 22. Jan 2009 18:19

Re: Embedded Datenbanken - hat jemand Erfahrung ?
 
Zitat aus der README_embedded.txt von Firebird (2.0):
Zitat:

3. USAGE

Just copy fbembed.dll, icudt30.dll, icuin30.dll and
icuuc30.dll into the directory with your application.
Then rename fbembed.dll to either fbclient.dll or
gds32.dll depending on your database connectivity software.
Then start your application and it will use the embedded
server as a client library and will be able to access
local datasases. You should also copy firebird.msg and
firebird.conf (if necessary) to the same directory.

If external libraries are required for your application,
then you should have them separately. Most probably, it
will be INTL support (fbintl.dll and fbintl.conf) or UDF
libraries. To be able to use them, you should place them
into the directory tree which emulates the Firebird server
one, i.e. has subdirectories like /intl or /udf:

c:\my_app\app.exe
c:\my_app\gds32.dll
c:\my_app\ib_util.dll
c:\my_app\icudt30.dll
c:\my_app\icuin30.dll
c:\my_app\icuuc30.dll
c:\my_app\firebird.conf
c:\my_app\firebird.msg
c:\my_app\intl\fbintl.dll
c:\my_app\intl\fbintl.conf
c:\my_app\udf\fbudf.dll

If you want to place the Firebird files (excluding the
renamed fbembed.dll) in another directory, you need to
modify your firebird.conf and set RootDirectory to the
Firebird directory tree. Example:

c:\my_app\app.exe
c:\my_app\gds32.dll
c:\my_app\ib_util.dll
c:\my_app\icudt30.dll
c:\my_app\icuin30.dll
c:\my_app\icuuc30.dll
c:\my_app\firebird.conf
d:\fb\firebird.msg
d:\fb\intl\fbintl.dll
c:\fb\intl\fbintl.conf
d:\fb\udf\fbudf.dll

firebird.conf:
RootDirectory = d:\fb

haentschman 22. Jan 2009 18:20

Re: Embedded Datenbanken - hat jemand Erfahrung ?
 
Zitat:

Die Kombination (FBEmbedded & ZEOS) kann ich Dir aber sonst nur empfehlen.
...dem stimme ich vorbehaltlos zu. :thumb:

...und solltest du einmal von Embedded die Nase voll haben kannst du auch mit dieser Kombination eine Client Server Version basteln. 8)

RWarnecke 22. Jan 2009 18:37

Re: Embedded Datenbanken - hat jemand Erfahrung ?
 
Du kannst Dir ja mal Code-Orakel von mir anschauen. Das ist auf eine Embedded Firebird Datenbank aufgebaut.

g1o2k4 22. Jan 2009 19:27

Re: Embedded Datenbanken - hat jemand Erfahrung ?
 
Zitat:

Zitat von RWarnecke
Du kannst Dir ja mal Code-Orakel von mir anschauen. Das ist auf eine Embedded Firebird Datenbank aufgebaut.

das sieht ganz gut aus. das mit den dlls ist klar, da hab ich auch nichts gegen.
hat jemand links zu den komponenten von zeos und fbembedded für delphi ?


edit: @RWarnecke: kannst du vielleicht etwas zur performance sagen ?

RWarnecke 22. Jan 2009 21:06

Re: Embedded Datenbanken - hat jemand Erfahrung ?
 
Lokal ist die Geschwindigkeit spitzenmäßig. Zum Server kann ich nicht viel sagen, da ich es so nicht nutze.

Zeos
Firebird

Bernhard Geyer 22. Jan 2009 22:19

Re: Embedded Datenbanken - hat jemand Erfahrung ?
 
Zitat:

Zitat von g1o2k4
ich glaube firebird und mysql stellen sowas zur verfügung. ist das zu empfehlen ?

Beide benötigen externe DLL's gegenüber einer "richtigen" Embedded Datenbank die komplett in der Exe ist. Bei MySQL mußt du mit der Lizenzierung aufpassen wenn du eine Closed-Source App hast.

Eine sehr gute Embedded Desktop DB ist z.B. ADS Local Server wenn man kein Unicode/Mehrsprachigkeit benötigt. Alternativen wären z.B. Absolute Database oder TurboDB.

g1o2k4 22. Jan 2009 23:21

Re: Embedded Datenbanken - hat jemand Erfahrung ?
 
Zitat:

Zitat von Bernhard Geyer
Eine sehr gute Embedded Desktop DB ist z.B. ADS Local Server wenn man kein Unicode/Mehrsprachigkeit benötigt. Alternativen wären z.B. Absolute Database oder TurboDB.


werd ich mir mal ansehn, da mir aufgefallen ist, dass zeos nur als alpha für delphi 2009 vorhanden ist und nach dem installieren dieser alpha, das beispielprojekt für embedded fb bei mir auch nicht funktionierte.

unicode wäre schon nicht schlecht. haben turbodb oder absolute db das ?


edit: achja vergessen zu fragen. hat delphi 2009 eine embedded db zufälligerweise schon eingebaut ? was datenbanken angeht ist delphi ja fast die umfangreichste sprache für enterprise entwicklung. ich kenne keine sprache in der es soviele möglichkeiten gibt datenbankprogrammierung zu betreiben: ado, dbexpress, interbase, mybase, xml, bde, datensteuerung, datenzugriff....etc

ist da nichts dabei, was eine sql datenbank plus server in die exe integriert ? ich glaub bei interbase hab ich sowas gelesen, kann das sein ? benötigt man dazu noch dlls oder ist alles in der exe ?

Hansa 22. Jan 2009 23:50

Re: Embedded Datenbanken - hat jemand Erfahrung ?
 
Zitat:

Zitat von g1o2k4
...ist da nichts dabei, was eine sql datenbank plus server in die exe integriert ?

Es gibt gute Gründe, das nicht zu machen. Z.B. lassen sich Bestandteile leichter modifizieren, ohne an der EXE rumfummeln zu müssen.


Aber es geht ja hierum :

Embedded Datenbanken - hat jemand Erfahrung ?

Ist durchaus zu empfehlen, z.B. für Demo-Versionen (CD etc.) oder Einzelplatzlösungen. Die paar FB-Dateien richtig kopieren, eigenes Programm, DB etc. und fertig. Allerdings kann nun ein kapitaler Fehler für Ärger sorgen : man versucht aus der Delphi-IDE das fertige Programm zu starten. Aber wehe ein Dataset ist in der IDE geöffnet. Dann ist pillo. Es kann nur einen geben. Dasselbe gilt, sofern noch ein Admin-Tool die DB im Zugriff hat. Dann jagt man eventuell den Poltergeist. Schon oft gesehen. :mrgreen:

Deshalb : programmieren mit der richtigen (Server) Version. Das fertige Programm dann ohne Server embedded austesten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:45 Uhr.
Seite 1 von 2  1 2      

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