Welche Datenbank für Lazarus einsetzen
Welche Datenbank für Lazarus einsetzen
Hallo
seit einiger Zeit befasse ich mich mit dem Thema Lazarus und Datenbanken.
Folgende Anforderungen sind gestellt:
- Mehrfachzugriff auf Datenbank
- Unkomplizierte Installation für den Endkunden
Anwendung soll auf einem Server liegen. Zugriffe von mehreren Arbeitsplätzen.
Meine Frage, welche DB sollte ich einsetzen?
Habe mich schon mit Firebird und anderen auseinander gesetzt, bin aber noch nicht zu einem Ergebniss gekommen.
Für Anregungen und Erfahrungsberichte wäre ich dankbar.
Gruß neu-laz
seit einiger Zeit befasse ich mich mit dem Thema Lazarus und Datenbanken.
Folgende Anforderungen sind gestellt:
- Mehrfachzugriff auf Datenbank
- Unkomplizierte Installation für den Endkunden
Anwendung soll auf einem Server liegen. Zugriffe von mehreren Arbeitsplätzen.
Meine Frage, welche DB sollte ich einsetzen?
Habe mich schon mit Firebird und anderen auseinander gesetzt, bin aber noch nicht zu einem Ergebniss gekommen.
Für Anregungen und Erfahrungsberichte wäre ich dankbar.
Gruß neu-laz
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Welche Datenbank für Lazarus einsetzen
Das ist ein Widerspruch.neu-laz hat geschrieben:Folgende Anforderungen sind gestellt:
- Mehrfachzugriff auf Datenbank
Anwendung soll auf einem Server liegen. Zugriffe von mehreren Arbeitsplätzen.
Anwendungen, bei denen das exe als Datei auf dem Server liegt und auf dem User-Rechner läuft, sind bei neuen Windows-Varianten, glaube ich, verboten.
Wenn die Anwendung (also das Executable) auf dem Server läuft braust Du keine konkurrierenden Zugriffe auf die Datenbank (die kommen ja alle aus der einen Instanz der "Anwendung"). U.U. brauchst Du dann gar keine Datenbank. Die Frage ist dann viel mehr: "wie greift der User "remote" auf die Awendung zu?" .
-Michael
Re: Welche Datenbank für Lazarus einsetzen
Habe das wohl falsch dargestellt.
Die Datenbank soll auf dem Server liegen und die Zugriffe kommen von den Arbeitsstationen.
Die Programme müssen auf jeder Arbeitsstation installiert werden.
Die Datenbank soll auf dem Server liegen und die Zugriffe kommen von den Arbeitsstationen.
Die Programme müssen auf jeder Arbeitsstation installiert werden.
-
- Beiträge: 340
- Registriert: Di 12. Sep 2006, 08:57
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Kontaktdaten:
Re: Welche Datenbank für Lazarus einsetzen
Hat der "Endkunde" denn noch kein DBMS? Das macht es problematisch. Denn es gibt verschiedene Arten von DBMS, unter anderem relationale und objektorientierte. Falls du ein relationales benötigst, kann man die Auswahl einschränken. Allerdings ist egal, welches DBMS du einsetzt, es muss von einem Administrator gewartet werden. Hat der Endkunde also einen solchen oder eher nicht?neu-laz hat geschrieben:Hallo
seit einiger Zeit befasse ich mich mit dem Thema Lazarus und Datenbanken.
Folgende Anforderungen sind gestellt:
- Mehrfachzugriff auf Datenbank
- Unkomplizierte Installation für den Endkunden
Anwendung soll auf einem Server liegen. Zugriffe von mehreren Arbeitsplätzen.
Meine Frage, welche DB sollte ich einsetzen?
Habe mich schon mit Firebird und anderen auseinander gesetzt, bin aber noch nicht zu einem Ergebniss gekommen.
Für Anregungen und Erfahrungsberichte wäre ich dankbar.
Gruß neu-laz
Nennenswerte DBMS sind Oracle, MS SQL Server, PostgreSQL und MySQL. Dir könnte man nur MS SQL und Postgre anraten, da Oracle zu viel kostet und MySQL hat Kinderkrankheiten, ist zwar einfach in der Installation macht aber mitunter probleme da es sich manchmal anders verhält als andere DBMS.
Grüße, Antrepolit
care only if your os is really burning
care only if your os is really burning
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Welche Datenbank für Lazarus einsetzen
Möglicherweise brauchst nicht unbedingt eine Server-Basierte Datenbank. Konkurrierende Zugriffe kannst Du auch mit Datei-basierenden Datenbanken machen (wie z.B. der ollen Jet-Engine vom Microsoft, die Beispielsweise von Access verwendet wird (aber auch von sehr vielen nicht-Microsoft Produkten weil sie nix kostet, nicht installiert werden muss und ziemlich wartungsfrei ist.
Hat aber natürlich diverse Einschränkungen.
-Michael
Hat aber natürlich diverse Einschränkungen.
-Michael
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2822
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: Welche Datenbank für Lazarus einsetzen
Deswegen wäre noch eine Anforderung wichtig: Welche und wieviel Daten sollen denn abgelegt werden?
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
Re: Welche Datenbank für Lazarus einsetzen
Danke für Eure Nachrichten.
Also, es ist nicht immer gegeben, dass es einen Administrator in dem Unternehmen gibt, wo meine Applikation eingesetzt wird.
"Ne olle Kamelle" sollte nun auch nicht eingesetzt werden.
Es gibt etwa um die 200 Tabellen in der Datenbank. Einige Tabellen enthalten um die 100 000 Einträge.
Ich habe bislang meine Applikation unter Delphi und der alten guten BDE installieren lassen. Da gab es nur wenig Probleme
aber da ich ein Potenzial mit Lazarus als Entwickler sehe, möchte ich hier mehr einsteigen.
Aber wie gesagt, es steht zur Zeit das leidige Problem der richtigen Datenbank zwischen Lazarus und mir
Sicherlich wäre Firebird noch eine Möglichkeit, aber hier sehe ich das Problem in der möglichen Administration. Als Embeded-Version macht es
keinen Sinn, da kein Mehrfachzugriff möglich ist, soweit ich weiss.
Also, es ist nicht immer gegeben, dass es einen Administrator in dem Unternehmen gibt, wo meine Applikation eingesetzt wird.
"Ne olle Kamelle" sollte nun auch nicht eingesetzt werden.
Es gibt etwa um die 200 Tabellen in der Datenbank. Einige Tabellen enthalten um die 100 000 Einträge.
Ich habe bislang meine Applikation unter Delphi und der alten guten BDE installieren lassen. Da gab es nur wenig Probleme
aber da ich ein Potenzial mit Lazarus als Entwickler sehe, möchte ich hier mehr einsteigen.
Aber wie gesagt, es steht zur Zeit das leidige Problem der richtigen Datenbank zwischen Lazarus und mir

Sicherlich wäre Firebird noch eine Möglichkeit, aber hier sehe ich das Problem in der möglichen Administration. Als Embeded-Version macht es
keinen Sinn, da kein Mehrfachzugriff möglich ist, soweit ich weiss.
Re: Welche Datenbank für Lazarus einsetzen
Ich bin zwar kein Datenbank-Guru und nutze Datenbanken effektiv erst seit ein paar Monaten, hatte aber die gleichen Überlegungen anzustellen. Wichtig war mir, dass wenn ich mich schon in die Verwendung einer Datenbank einarbeite, dann sollte es möglichst eine "richtige Datenbank" sein.
Aufgrund der hohen Verwendungsdichte, hatte ich mir zuerst MySQL angeschaut. Die Installation ist etwas umfangreicher, daher etwas umständlich, für "Endkunden". Dafür waren auftretende Fragen sehr schnell beantwortet, da es eine sehr große Community dafür gibt. Letzten Endes bin ich jedoch wieder von MySQL weg, da eine Nutzung dieser Datenbank für kommerzielle Zwecke dann mit teuren Lizensen verbunden ist.
Zur Zeit nutze ich PostgreSQL unter Verwendung von ZEOS, die Installation ist recht unkompliziert (nimmt auch nicht so viel Platz in Anspruch, wie MySQL) und bin damit sehr zufrieden!
Meine subjektiver Eindruck:
- gefühlt ist PostgreSQL schneller in der SQL-Befehl-Abarbeitung als MySQL
- allerdings ist der SQL-Befehlssatz bei PG nicht so hoch, wie bei MySQL und man muss hier und da einen kleinen Umweg machen, um das Gleiche zu erreichen
- Tutorials und Foren im deutschsprachigem Raum sind für MySQL mehr verbereitet als für PG (wenn man einigermaßen Englisch versteht, ist das aber kein Hinderniss)
- der mitgelieferte PGAdmin (Administrationstool) ist eine große Hilfe bei der Verwendung und zum Verstehen des Datenbankaufbaus
Aufgrund der hohen Verwendungsdichte, hatte ich mir zuerst MySQL angeschaut. Die Installation ist etwas umfangreicher, daher etwas umständlich, für "Endkunden". Dafür waren auftretende Fragen sehr schnell beantwortet, da es eine sehr große Community dafür gibt. Letzten Endes bin ich jedoch wieder von MySQL weg, da eine Nutzung dieser Datenbank für kommerzielle Zwecke dann mit teuren Lizensen verbunden ist.
Zur Zeit nutze ich PostgreSQL unter Verwendung von ZEOS, die Installation ist recht unkompliziert (nimmt auch nicht so viel Platz in Anspruch, wie MySQL) und bin damit sehr zufrieden!
Meine subjektiver Eindruck:
- gefühlt ist PostgreSQL schneller in der SQL-Befehl-Abarbeitung als MySQL
- allerdings ist der SQL-Befehlssatz bei PG nicht so hoch, wie bei MySQL und man muss hier und da einen kleinen Umweg machen, um das Gleiche zu erreichen
- Tutorials und Foren im deutschsprachigem Raum sind für MySQL mehr verbereitet als für PG (wenn man einigermaßen Englisch versteht, ist das aber kein Hinderniss)
- der mitgelieferte PGAdmin (Administrationstool) ist eine große Hilfe bei der Verwendung und zum Verstehen des Datenbankaufbaus
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
-
- Beiträge: 203
- Registriert: Di 22. Sep 2009, 13:08
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
Re: Welche Datenbank für Lazarus einsetzen
Kommt natürlich auch darauf an ob die Datenbank etwas kosten darf. Kostenfrei und für mich interessant ist zur Zeit PostgreSQL.
Von den freien Datenbanken traue ich der Postgres-Community auf lange Sicht am meisten zu.
Nich kostenlos, aber vom Administrationsaufwand ziemlich perfekt ist z.B. die SQLAnywhere von Sybase (SAP).
Die hat ein mit Abstand besseres Administration-Tool als z.B. pgAdmin. Wenn man sich an soetwas erst mal gewöhnt hat,
findet man die meisten anderen Datenbank-Tools einfach nur ätzend.
Von den freien Datenbanken traue ich der Postgres-Community auf lange Sicht am meisten zu.
Nich kostenlos, aber vom Administrationsaufwand ziemlich perfekt ist z.B. die SQLAnywhere von Sybase (SAP).
Die hat ein mit Abstand besseres Administration-Tool als z.B. pgAdmin. Wenn man sich an soetwas erst mal gewöhnt hat,
findet man die meisten anderen Datenbank-Tools einfach nur ätzend.
Re: Welche Datenbank für Lazarus einsetzen
Also Ihr seit der Meinung das PostgreSQL unter Verwendung von ZEOS einsetzbar ist.
Werde ich mir mal installieren.
Es wäre schon interessant zu erfahren, ob es unterschiede bzw. welche unterschiede es zwischen PostgreSQL und Firebird gibt.
Aber dennoch danke für Eure Anregungen und Denkanstösse.
Werde ich mir mal installieren.
Es wäre schon interessant zu erfahren, ob es unterschiede bzw. welche unterschiede es zwischen PostgreSQL und Firebird gibt.
Aber dennoch danke für Eure Anregungen und Denkanstösse.
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: Welche Datenbank für Lazarus einsetzen
Postgres gibts auf mehr systemen vorcompiliert/vorinstalliert z.b. NAS.
Feature+ SPś können in Postgres in mehreren Sprachen geschrieben werden es gibt viele Erweiterungen z.b. für GIS
Firebird ist leicht schneller
Feature+ Firebird kann mit ODBC Verbindungsservern umgehn.
Feature+ SPś können in Postgres in mehreren Sprachen geschrieben werden es gibt viele Erweiterungen z.b. für GIS
Firebird ist leicht schneller
Feature+ Firebird kann mit ODBC Verbindungsservern umgehn.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Re: Welche Datenbank für Lazarus einsetzen
Danke für Eure Anregungen.
Ich habe mich mal mit den von Euch vorgeschlagenen Datenbanksystemen beschäftigt.
Finde, dass sowohl das eine wie auch das andere seine Vorteile oder Nachteile hat.
Habe hier im Forum bereits einiges gelesen und mich mit diversen Aussagen auseinander gesetzt.
Es scheint so, als ob jedes DBMS seine Vorteile und Nachteile hat. Aber alles kommt auf´s gleiche raus.
Man(n) muss halt schauen, welches man einsetzen möchte und bindet sich dann.
Wobei ich nicht überzeugt bin, dass Firebird, PostgrSQL und MySQL dann letzlich für den Endanwender
ohne Administrator einzusetzen sind.
Habe mich jetzt entschieden, da ich mit Opnesource arbeiten möchte, aus den vorhandenen etwas eigenes
zu "stricken", wleches dann auch für den Endanwender ohne grosse Kenntnisse einsetzbar ist.
Aber was soll´s trotzdem Danke an alle, die diesen Beitrag gelesen und mir eine Antwort gegeben haben .
Ich habe mich mal mit den von Euch vorgeschlagenen Datenbanksystemen beschäftigt.
Finde, dass sowohl das eine wie auch das andere seine Vorteile oder Nachteile hat.
Habe hier im Forum bereits einiges gelesen und mich mit diversen Aussagen auseinander gesetzt.
Es scheint so, als ob jedes DBMS seine Vorteile und Nachteile hat. Aber alles kommt auf´s gleiche raus.
Man(n) muss halt schauen, welches man einsetzen möchte und bindet sich dann.
Wobei ich nicht überzeugt bin, dass Firebird, PostgrSQL und MySQL dann letzlich für den Endanwender
ohne Administrator einzusetzen sind.
Habe mich jetzt entschieden, da ich mit Opnesource arbeiten möchte, aus den vorhandenen etwas eigenes
zu "stricken", wleches dann auch für den Endanwender ohne grosse Kenntnisse einsetzbar ist.
Aber was soll´s trotzdem Danke an alle, die diesen Beitrag gelesen und mir eine Antwort gegeben haben .
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: Welche Datenbank für Lazarus einsetzen
Interessiert mich jetzt doch was du meinst.
Willst du ne eigene Datenbank schreiben ?
Wie meinst du das mit OSS ? Die genannten Datenbanksysteme sind doch OSS oder ?
Willst du ne eigene Datenbank schreiben ?
Wie meinst du das mit OSS ? Die genannten Datenbanksysteme sind doch OSS oder ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 1581
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: Welche Datenbank für Lazarus einsetzen
Ich nutze auch die ZEOS Komponente. Diese Komponente kann einige Datenbanken, wie z.B. Firebird, MySQL und PostgreSQL und einige andere. Wenn Du Deinen SQL Script recht einfach hältst, so kannst Du mit ein paar wenigen Parameter die TZConnection auf eine andere DB recht leicht umschalten. Und schon ist Deine EXE tauglich für verschiedene DB's.
Und ZEOS geht auch mit Delphi.
Meine EXE unterstützt derzeit SQLite, MySQL, PostgreSQL und MsSQL als Datenbanken. An ein paar wenigen Stellen musste ich den SQL Script anhand dem DB Typ umschalten.
Zusätzlich beherrscht die ZEOS Komponente umfangreiche Such/Filter/CalcFields Funktionen was viele andere Komponenten nicht können.
Mit ZEOS bindest Du Dich NICHT an eine DBMS, ohne Tausch der Komponente kannst Du viele DBMS nutzen. Was eigenes würde ich nicht machen, lohnt nicht wirklich.
Und ZEOS geht auch mit Delphi.
Meine EXE unterstützt derzeit SQLite, MySQL, PostgreSQL und MsSQL als Datenbanken. An ein paar wenigen Stellen musste ich den SQL Script anhand dem DB Typ umschalten.
Zusätzlich beherrscht die ZEOS Komponente umfangreiche Such/Filter/CalcFields Funktionen was viele andere Komponenten nicht können.
Mit ZEOS bindest Du Dich NICHT an eine DBMS, ohne Tausch der Komponente kannst Du viele DBMS nutzen. Was eigenes würde ich nicht machen, lohnt nicht wirklich.
EleLa - Elektronik Lagerverwaltung - www.elela.de