![]() |
Datenbank: PostgresQL • Version: 8.4 • Zugriff über: ODBC
Datenbank in Delphi Programm integrieren
Hallo zusammen!
Ich baue gerade eine Anwendung in D2009, die eng mit einer PostgresQL-Datenbank zusammenarbeitet. Wenn das Tool an den Kunden ausgeliefert wird ist diese Datenbank dementsprechend mit zu liefern. Wie kann ich das anstellen? a) Gibt es eine Möglichkeit die PostgresQL-DB in das Delphi Programm (als Ressource??) zu integrieren? b) Falls a) nicht geht, kann man Datenbank und Programm zusammen durch einen Installer beim Kunden installieren lassen? (Notlösung, da Installation nach Möglichkeit vermieden werden soll. c) Ist es doch besser, eine in Delphi integrierte Datenbank oder sonst irgend ein anderes DBMS zu nutzen? Danke! Grüße, benwen |
Re: Datenbank in Delphi Programm integrieren
Zitat:
Eine Datenbank muss ständig veränderbar sein, während Resourcen in einer EXE fix sind. |
Re: Datenbank in Delphi Programm integrieren
Nur die Datenbank wird dir nicht sonderlich viel bringen oder existiert von PostGreSQL eine embedded-Variante?
|
Re: Datenbank in Delphi Programm integrieren
Zitat:
|
Re: Datenbank in Delphi Programm integrieren
Zitat:
|
Re: Datenbank in Delphi Programm integrieren
Zitat:
SQLite war bei meinen Test ziemlich langsam. |
Re: Datenbank in Delphi Programm integrieren
Hallo benwen,
ich empfehle mal wieder NEXUSDB. Die embedded Variante ist Freeware und lässt sich voll in die exe compilieren. Sehr gute SQL-Unterstützung, schnell usw... cu cg |
Re: Datenbank in Delphi Programm integrieren
Brauchst du MultiUser-Zugriff? Wenn nicht wäre auch FireBird embedded eine Option
|
Re: Datenbank in Delphi Programm integrieren
Nexus-DB ist auch nicht ohne wenn es um Weiterverteilung geht (z.B. Player/Viewer-Anwendung die dein Kunde weiter verteilt). Hier fallen Lizenzkosten pro Kunde an (Jedenfalls wurde das mir vor ca. 2-3 Jahre angeboten)
|
Re: Datenbank in Delphi Programm integrieren
@Bernhard
...laut Lizenzbdingungen für die embedded Version ist alles Royality Free. Also pro Entwickler eine Version, Verteilungg ohne weitere Kosten usw. Die einzige Ausnahme ist der AWE Server. Hier fallen Lizenzkosten je Maschine an, aber wer den einsetzt kann auch dafür zahlen. Deine Anwendung wurde damals vielleicht als "Entwicklungsumgebung" eingestuft ? cg |
Re: Datenbank in Delphi Programm integrieren
Zitat:
|
Re: Datenbank in Delphi Programm integrieren
Hallo,
noch ein Wort zu den Geschwindigkeiten der Datenbanken. Ich habe Advantage, TurboDB, Accuracer, Absolut Database, Embedde-Versionen SQLite und Firebird, auf z.B. 20000 Datensätze einfügen, Filtern und Suchen getestet. Extrem langsam waren SQLite und Firebird, die brauchten circa 50 Sekunden zum Einfügen von 20000 Datensätzen. Die anderen Datenbanken waren circa 100 mal schneller. Beim Filtern war der Unterschied ungefähr Faktor 10-20. Accuracer war die negative Ausnahme, fast so lahm wie Firebird. Mit Advantage habe ich ein Projekt laufen mit 30 Clients. Super stabil und schnell. Läßt sich unter Delphi sehr einfach durch Komponenten einbinden. Am schnellsten waren Absolut Database und Turbodb, wobei Turbodb nochmal in allen Tests schneller war. Bisher das Beste (mit speziellen Funktionen) was ich an Datenbank hatte, nicht billig aber habe ich sofort gekauft. Absolut Database hatte ich vorher, war damit zufrieden, sie erzeugte jedoch bei mir einen Indexfehler, den sich auch der Support nicht erklären konnte, deshalb habe ich das Vertrauen in diese Datenbank verloren, denn auf solche Fehler, kann ich zusätzlich zu meinen, gut verzichten. Olaf |
Re: Datenbank in Delphi Programm integrieren
Ok, hier auch noch meine Testergebnisse:
Testablauf: Diverse Inserts/Selects/Updates/Deletes/Blob-Aktionen/... Code verwendet wo parametrisierte Abfragen bzw. bei Selects die bei Desktop-DB's schnelleren SetRange/ApplyRange-Methoden Vergleich: - ADS Local Server 6.11 (Neue Version sind Lizenzrechtlich Problematisch das Remote Desktop Serverlizenz nötig macht). - Absolute Database 5.18 - TurboDB 5.15 - SQLite 3,61 mit ZEOS 6.6.3 - Accuracter 4.3 bzw. 4.7Pre4 - H2 per JNI angebunden Außen vor: - MySQL Embedded (Lizenzrechtlich Problematisch bzw. sehr Teuer) - MS SQL Everywhere (.NET Framework nötig) - PostgreSQL: Keine Embedded Betrieb möglich - Blackfish SQL: Lizenzkosten bzw. DB-Größe beschränkt. .NET nötig - Firebird: Portierung Quellcode nicht mehr fertig bekommen im Test - NexusDB: Lizenzkosten für unseren Anwendungsfall (Pro Kunde 150$ nötig da weiterverteilung von Exe mit DB) - ElevateDB: Höherer Portierungsaufwand da etwas andere Logik bei Verwendung parametrisierter Abfragen. Portierung abgebrochen. Ergebnis: ADS: Im allgemeinen sehr schnell und stabil, jedoch aufgrund fehlender Unicode-Unterstützung Problematisch (UTF8-Codierung + Nachfilterung nötig -> Performance) sowie teilweise bei Like-Abfragen langsam AbsoluteDB: Bugs in Like-Abfragen mit Unicode (Fehlerhafte Ergebnismenge), Updates sehr langsam TurboDB: Performanceprobleme bei komplexen Abfragen über mehrer Tabellen mit JOINS. Einige ältere Versionen hatten fehlerhafte Behandlung von JOINS (Falsche Ergebnismenge). SQLite: Performanceproblem bei Update's und Delets Accuracer: Fehlerhaftes Handling von Parametrisierten Abfragen. Auch mit nachgelieferten Betaversionen nicht gelöst. H2: In weiten teilen (trotz JNI + Java) sehr schnell. In eigenen Testszenarien konnte von der Performance nur ADS Local Server mithalten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:55 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