![]() |
Datenbank: MYSQL • Version: 5 • Zugriff über: Delphi
Lokale Datenbank für eigene Anwendung
Hallo, ich möchte eine Anwendung in mit Delphi programmieren, mit der ich MYsql Datenbanken benötige.
Meine derzeitigen Anwendungen nutzen auch MYsql, allerdings über einen Webanbieter. D.h. ich greife immer übers Internet auf meine Datenbanken zu. Ich möchte jetzt aber eine Anwendung schreiben die auch MYsql nutzt, aber das ganze quasi offline auf dem lokalen Rechner. Dazu soll MYsql nicht vom Nutzer installiert werden müssen. Die Lösung Embedded? Wie funktioniert dies, und was benötige ich dafür? Vielen Dank im Vorraus. LG Marco |
AW: Lokale Datenbank für eigene Anwendung
Wenn die Software nicht OpenSource wird, dann brauchst du viel Geld
![]() ![]() |
AW: Lokale Datenbank für eigene Anwendung
Ne also opensource solls net sein. was ist den kostenlos und mysql recht ähnlich?
|
AW: Lokale Datenbank für eigene Anwendung
Für Embedded kann ich dir die Firebird-Datenbank empfehlen.
Die gibts als embedded-Variante, ist "rock-solid" und hat einen ähnlichen SQL-Syntax. Allerdings funktionieren einige Sachen doch anders als in mySQL (AutoInc-Felder, Generatoren etc.) Technisch funktioniert das dann mit einer DLL, über die du lokale Datenbanken in deinem Programm öffnen kannst. Vorteil: Keine Server-Installation nötig. Nachteil: Es kann immer nur ein einzelnes Programm eine Datenbank im Schreibzugriff geöffnet haben, zumindest bei < Firebird 2.5. |
AW: Lokale Datenbank für eigene Anwendung
...ich werfe mal NEXUSDB ins Rennen.
Ist in der Embedded Version kostenlos und wird komplett in die EXE compiliert (da in Delphi geschrieben). Seit Jahren meine Wahl! :thumb: ca cg |
AW: Lokale Datenbank für eigene Anwendung
SQL-Server 2012 Express. Das Nonpluslultra (imho), viel schneller als Firebird (eigene Erfahrung). SQL-Server 2012 ist soetwas wie ein LKW mit Turbinenantrieb.
Wenn Du allerdings niemals einen LKW benötigen wirst, dann ist Firebird nicht nur ausreichend, sondern auch wirklich wirklich zu empfehlen. |
AW: Lokale Datenbank für eigene Anwendung
Zitat:
![]() |
AW: Lokale Datenbank für eigene Anwendung
Zitat:
Als Kostengünstige Version bei der man auch Administrationsaufwand aktzeptiert - Super Lösung Als Embedded Version bei der eine Verteilung auf tausende Rechner ohne Aufwand möglich sein muss - Wenn möglich nicht nehmen. |
AW: Lokale Datenbank für eigene Anwendung
|
AW: Lokale Datenbank für eigene Anwendung
Zitat:
|
AW: Lokale Datenbank für eigene Anwendung
Ich verwende "Advantage Database" als Local Server.
- Local Server (ALS) = kostenlos ( aber der ADS ist kostenpflichtig) - einfache Handhabung (mit Advantage VCL-Komponenten ) - nur ein paar Dlls ins Anwendungsverzeichnis |
AW: Lokale Datenbank für eigene Anwendung
Ich würde dir ebenfalls Firebird embedded empfehlen: Wirklich absolut kostenlos ohne irgendwelche Lizenzfallen, wird regelmäßig gepflegt und weiterentwickelt und bietet ab der Version 2.5 auch Mehrbenutzerzugriff (zuvor war das der Server-Version vorbehalten). Zudem gibt es bei
![]() |
AW: Lokale Datenbank für eigene Anwendung
Zitat:
Zitat:
SQL Server Compact und Firebird Embedded laufen beide sehr gut. SQL Server Compact wird allerdings leider von FireDAC nicht unterstützt, Firebird Embedded schon. Ich würde daher auch zu letzterem tendieren. |
AW: Lokale Datenbank für eigene Anwendung
Zitat:
|
AW: Lokale Datenbank für eigene Anwendung
Zitat:
Zitat:
|
AW: Lokale Datenbank für eigene Anwendung
Zitat:
|
AW: Lokale Datenbank für eigene Anwendung
Zitat:
|
AW: Lokale Datenbank für eigene Anwendung
Zitat:
Ich sehe gerade das die DevArts das auch unterstützten würden ( ![]() |
AW: Lokale Datenbank für eigene Anwendung
Zitat:
Delphi-Quellcode:
Dann halt noch eine TADOQuery und die Connection zuweisen usw.
SqlConnection := TADOConnection.Create(nil);
SqlConnection.ConnectionString := 'Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5; Data Source=' + AppDataPath + 'test.sdf;'; |
AW: Lokale Datenbank für eigene Anwendung
ADO? War da nicht mal was mit abgekündigt und man sollte auf ODBC umstellen?
(ich nutze ADO wo immer es geht) Gruß K-H |
AW: Lokale Datenbank für eigene Anwendung
Zitat:
Ab welcher Windows-Version hat hier MS diese OLE/DB-Magic eingebaut? |
AW: Lokale Datenbank für eigene Anwendung
Man muss die sqlceoledb30.dll mitliefern und für diese Zugriffsart auch registrieren. Eine weitere Installation ist nicht notwendig. Denn es geht ja um embedded und nicht umbedingt um portabel, deshalb ist die Registrierung ja erst einmal dadurch nicht ausgeschlossen.
Wenn man das nicht möchte, geht der Zugriff über OLE DB nicht. |
AW: Lokale Datenbank für eigene Anwendung
Ich habe hier auch die Devart-Komponenten (etwas ältere Version) im Einsatz, die eine Embedded-Connection dabei haben.
Diese braucht aber eine libmysqld.dll Sonst keine weitere Installation. Wie es hier bezüglich einer Lizenz für die DLL aussieht kann ich nicht sagen. Das MySQL-Gegenstück ist ja die MariaDB die ebenfalls diese Lib mitbringt und es keine Lizenz-Fallen gibt. |
AW: Lokale Datenbank für eigene Anwendung
Zitat:
Zitat:
![]() |
AW: Lokale Datenbank für eigene Anwendung
Zitat:
Entscheidend wäre hier doch aber die Frage, ob die neuste Version der Devarts mit der Lib von MariaDB zusammen arbeitet? Sonst die MySQL und MariaDB auch kompatibel. In meiner etwas älteren Version der Devarts kann die MariaDB-DLL leider nicht geladen werden. |
AW: Lokale Datenbank für eigene Anwendung
Zitat:
2, Für die Nicht-Embedded-Version kann man DevArt so konfigieren das keine DLL benötigt wird (ist aber schon seit Jahren so), so das hier nur die Kompatiblität auf Protokollebene relevant ist. |
AW: Lokale Datenbank für eigene Anwendung
@Bernhard: Jupp da hast Du natürlich Recht. NexusDB ist mit Quelltext kostenpflichtig.
Die Embedded Version als .dcu-only ist aber kostenfrei und reicht für kleinere Projekte völlig aus. Als Applicationserver darfst Du diese Version aber auch nicht nutzen. |
AW: Lokale Datenbank für eigene Anwendung
Wenn's wirklich embedded (also in der exe) sein soll und auch was kosten darf ist meine Empfehlung AbsoluteDB. Da haben wir sehr gute Erfahrungen damit.
Wenn's ein bischen mehr SQL und ein bischen weniger embedded sein soll: Die FirebirdSQL-embedded DLL. Extrem stabil, ausreichend schnell und nicht so ein gefummel wie das MS-Teil. Damit ist's auch im deployment sehr Admin- und Supportfreundlich. Wenns denn dann doch mal mehr User sein sollen und doch ein Server sein darf: Einfach die DB-Einstellungen auf der Server verbiegen und gut is... Gruß GRL |
AW: Lokale Datenbank für eigene Anwendung
Ich hatte mich über den SQL Server Compact tiefer informiert und muss leider mitteilen, dass dieser doch nicht ganz kostenlos ist:
Zitat:
Gruß |
AW: Lokale Datenbank für eigene Anwendung
Und ich bin bei Absolute Database nicht sicher, denn ich glaube bereits mehrfach gelesen zu haben, daß die kostenfreie Version lediglich für nichtkommerzielle Anwendungen eingesetzt werden darf. Embedded muß übrigens nicht zwangsläufig bedeutet, daß die Datenbank in die Exe einkompiliert wird, sondern daß sie in den Programmordner eingebettet ist, wie man das von sog. Stickware kennt. Bei Firebird bedeutet Embedded einfach nur, daß man keinen Firebird-Server installieren muß, weil der durch eine spezielle fbclient.dll ersetzt wird, die es übrigens sowohl für 32 als auch für 64-bit-Windows gibt. Die DLL stellt Firebird-Funktionalität zur Verfügung, seit Version 2.5 auch für Multiuser-Betrieb. Das heißt, man kann eine FB-Embedded durauch auch in einem Netzwerk betreiben, das lediglich über eine Netzwerkplatte als gemeinsame Dateiablage verfügt. Dort kann man dann ohne weiteres Anwendung nebst Datenbank ablegen. Ob es FB-Embedded auch für Linux und Mac gibt, weiß ich gerade nicht auswendig.
|
AW: Lokale Datenbank für eigene Anwendung
Zitat:
GRL |
AW: Lokale Datenbank für eigene Anwendung
Zitat:
Hast Du einen Link für diese Quelle? Kann es sein dass es da um CAL's für den Windows Server geht? Auf der ![]() SQL Server Compact 4.0 ist mit Weiterverteilungslizenzbedingungen frei weitervertreibbar. Anwendungsentwickler, die SQL Server Compact 4.0, weiterverteilen, können sich optional auf der SQL Server Compact-Weiterverteilungssite registrieren. Registrierte Entwickler erhalten Informationen über wichtige Sicherheitspatches und Hotfixes von SQL Server Compact, die an Clientinstallationen weitergegeben werden können. |
AW: Lokale Datenbank für eigene Anwendung
Zitat:
Dazu braucht man nur ein Tool, mit der man die Applikation in sich selbst virtualisieren kann. Danach lädt man DLL + Datenbank aus dem Resource-Stream in den Speicher, legt ein virtuelles Dateisystem an und lädt die in den Speicher geladene DLL dynamisch nach. Allerdings ist der Aufwand etwas größer, die geänderten Daten dann wieder in die EXE zu bekommen. Das halte ich aber generell eh für keine gute Idee, da darauf auch viele Virenscanner anspringen, wenn sich die Größe einer EXE dauernd ändert. DLL + Datenbank in der EXE bietet sich eigentlich nur für einen ReadOnly-Zugriff auf die Datenbank an. |
AW: Lokale Datenbank für eigene Anwendung
Wenn man das auch richtig liest, dann versteht man auch den Sinn:
Zitat:
Für jede Verbindung zu einem SQL Server wird eine CAL benötigt, auch wenn diese Verbindung von einem SQL Server Compact erfolgt. Niemand spricht hier von CALs für die Verbindung mit einem SQL Server Compact. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:25 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