![]() |
Datenbank: dBase • Version: - • Zugriff über: BDE
BDE Umstieg auf welche Datenbank?
Hallo,
wir sind dabei unser Projekt von der BDE zu trennen. Nun sind wir uns noch nicht sicher, welches DBMS und welche Komponenten wir in Betracht ziehen. Wir hatten uns vorerst dazu entschlossen, es mit MySQL/InnoDB und FireDAC zu probieren. Bisher lief das auch ganz gut. Jedoch hatten wir Probleme mit den Indizes, die bisher auf der Datenbank global hinterlegt waren, doch nun bei den FDQuerys einzeln angelegt werden müssen. Das erschwert die Übersicht. Wir hatten uns für FDQuerys entscheiden, damit wir Lookup- und CalcFields in die SELECT-Anweisung packen und somit an Performance gewinnen. Des Weiteren ist uns ein weiteres Problem mit großen Datenmengen aufgefallen. Hierfür soll man ja RowSetSize und fmOnDemand benutzen. Sobald man eine zweite FDQuery öffnet, wird jedoch bei der ersten FDQuery (RowSetSize:=50,Mode:=fmOnDemand) in jedem Fall ein FetchAll ausgeführt. Das Problem ist ![]() Sollten wir vielleicht doch andere Komponenten benutzen? Welche Datenbank würdet ihr empfehlen? Und da einige von euch die BDE bereits verlassen haben, welche Datenbank wird von euch verwendet? Außerdem habe ich von einem Lizenzproblem mit MySQL gelesen. Hat jemand von euch damit schon Erfahrung gesammelt? Vielen Dank. |
AW: BDE Umstieg auf welche Datenbank?
Moin...:P
Als (einzige :thumb:) Alternative ist imho Firebird. Ein Datenbank File welches sowohl Embedded als auch mit Server läuft. :thumb: Zu FireDAC kann ich nicht viel sagen. (positiv / negativ) :? Da ich nicht viel über eurer Projekt weiß... Tipps: 1. Eine Umstellung 1:1 wird nicht funktionieren. 2. Die Datenbanken haben alle ihre Eigenheiten. 3. Lohnt sich der Einsatz eines Frameworks? (Aurelius z.b.) = Umsetzung der Datenmenge auf (generische) Listen. 4. Die SQL sollten wenigstens in einem Interface gekapselt werden. (Austauschbarkeit DBMS) = Umsetzung der Datenmenge auf (generische) Listen. 5. Evt. können die SQL als Ressource abgelegt werden. (Testbarkeit außerhalb vom Quelltext) 6. WICHTIG: Wenn möglich auf serverseitigen Cursor verzichten. 7. Trennung von datensensitiven Controls... :wink: |
AW: BDE Umstieg auf welche Datenbank?
Über welche Datenmengen reden wir da?
Für kleine Datenmengen (ein paar hundert Sätze) nutze ich für dBase einfach ![]() Ansonsten je nach Bedarf. Kleinere Datenmengen mit Access über ADO. ADO nutze ich auch dann, wenn ich nicht weiß, welche Datenbank letztlich vom Programm genutzt werden soll. Kann halt dann alles, an das man über ODBC ... "rankommt". FireBird scheint mir eine gut nutzbare Datenbank zu sein, egal ob mit Datenbankserver und Client oder die Embeddedversion. Bei großen Datenbanken (mit eigenem Datenbankserver) Oracle oder SQL-Server. Ab und an nutze ich als Zugriffkomponenten auch mal die ![]() Allerdings kenne ich mich mit den neueren Delphiversionen und ihren Komponenten nicht aus. Bin (inzwischen nur noch Hobbyprogrammierer) bei Delphi 7 "stehen geblieben". |
AW: BDE Umstieg auf welche Datenbank?
Zitat:
Zitat:
Zitat:
Zitat:
Nur wenn ihr mehrer DBMS unterstützt und auch keine DLL von MySQL im Einsatz habt seit ihr außen vor. |
AW: BDE Umstieg auf welche Datenbank?
Wir nutzen ebenfalls von der BDE kommend MS-SQL, MySQL und MariaDB ebenfalls in Kombination mit FireDAC. MariaDB hat den Vorteil, dass du das Lizenzproblem von MySQL nicht hast.
Damit MariaDB mit FireDAC funktioniert, musst du lediglich die Konstante mvMySQL060200 aus FireDAC.Stan.Consts auf einen höheren Wert als die von MariaDB verwendete Versionsnummer setzen (z.B. 2000000000) und MySQL als Treiber nutzen. Das Überschreiben der Konstante funktioniert z.B. schlicht mit VirtualProtect usw. im Speicher. |
AW: BDE Umstieg auf welche Datenbank?
Zitat:
![]() |
AW: BDE Umstieg auf welche Datenbank?
Hallo,
ich würde FireDac nur dann in Betracht ziehen, wenn ihr eine SA habt, damit ihr bei ggf. auftretenden Fehlern nicht erst teuer investieren müssen. Als Alternative würden die Komponenten von DevArt in Betracht kommen, dort werden auch ältere Delphiversionen mit Updates versorgt. Je nach Einsatzzweck und Kundentyp kann durchaus sein, dass der Kunde die Datenbank "vorschreibt" - da wäre dann ein ORM (was den Umstieg teurer macht) oder zumindest eine universelle DAC (wie Firedac oder UniDac) notwendig um unterschiedliche Systeme unterstützen zu können. Zur Lizenzproblematik von MySQL wurde schon was gesagt, ich würde einen Bogen drum machen (auch aus anderen Gründen). Aktuell würde ich Firebird und PostGreSQL empfehlen. Beide kostenfrei, beide aktiv entwickelt. |
AW: BDE Umstieg auf welche Datenbank?
Zitat:
|
AW: BDE Umstieg auf welche Datenbank?
Hallo,
ich bin damals von der BDE zu Firebird, zuerst mit ZEOS, mittlerweile mit IBDAC (von Devart), habs nie bereut. PostgreSQL ist ebenfalls empfehlenswert. Gruß Frank |
AW: BDE Umstieg auf welche Datenbank?
Also wir haben auch von BDE nach MySQL migriert und das mit UNIDAC läuft alles schön und schnell
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:38 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 by Thomas Breitkreuz