Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DB-Zugriffs-Layer DBase / Firebird embedded / 32 / 64 Bit (https://www.delphipraxis.net/185675-db-zugriffs-layer-dbase-firebird-embedded-32-64-bit.html)

michele_tedesco 29. Jun 2015 10:38

Datenbank: Dbase • Version: 1 • Zugriff über: BDE

DB-Zugriffs-Layer DBase / Firebird embedded / 32 / 64 Bit
 
Hallo Zusammen

Ich habe eine Frage zum Thema Datenbank-Zugriff-Schicht.

Aktuell unterhalte ich eine Delphi-Desktop-Applikation, welche ich von Delphi7 zu Delphi XE5 portiert habe.
Die Applikation hat immer noch DBase (BDE) Tabellen als Datenspeicher, da ich während dem Migration-Zeitraum (4 Wochen) diese technische Angelegenheit nicht lösen konnte :-)

Nun ist das Ziel diese Desktop Applikation in 64-Bit zu kompilieren (wegen der Umgebung, auf welcher diese Applikation läuft).
BDE-DBase-Zugriff kann bekanntlich nicht (ohne Hacks) auf 64Bit kompiliert werden.

Kennt jemand ein bestehendes Produkt, welches erlaubt mehrere embedded-Datenbanken-Technologien einzubinden?
Ich könnte mir grob etwas wie eine "Facade"-Datenzugriff-Layer vorstellen, wo man via Konfiguration definieren kann, ob die Anwendung über 32-Bit auf alte DBase Tabellen zugreifen kann (Rückwärts-Kompatibilität), oder die Anwendung zB auf Firebird embedded zugreifen kann.

Hat jemand Erfahrung gesammelt und so etwas selber entwickelt??

Vielen Dank! :-)

mkinzler 29. Jun 2015 10:58

AW: DB-Zugriffs-Layer DBase / Firebird embedded / 32 / 64 Bit
 
Zitat:

Kennt jemand ein bestehendes Produkt, welches erlaubt mehrere embedded-Datenbanken-Technologien einzubinden?
Was meinst Du mit Produkt?

michele_tedesco 29. Jun 2015 11:01

AW: DB-Zugriffs-Layer DBase / Firebird embedded / 32 / 64 Bit
 
Mit Produkt meine ich eine Komponente, welche die Fähigkeit hat mehrere Datenbanken (speziell in meinem Falle DBase über BDE und Firebird embedded) zu unterstützen. Also CRUD auf beide Datenbanken zu ermöglichen, unter der Einschränkung, dass die eine (Firebird embedded) Datenbank 64-Bit tauglich ist und die Andere (DBase über BDE) nur 32-Bit kompiliert werden kann.

Danke :-)

Lemmy 29. Jun 2015 11:11

AW: DB-Zugriffs-Layer DBase / Firebird embedded / 32 / 64 Bit
 
Welchen Sinn hätte das? Für die Migration von BDE nach X wäre es ggf. hilfreich - aber ist das wirklich notwendig? Oder soll die 32Bit weiter mit BDE laufen? Das würde ich definitiv nicht machen - dafür gibt es einfach keinen Grund...

Grüße

michele_tedesco 29. Jun 2015 13:48

AW: DB-Zugriffs-Layer DBase / Firebird embedded / 32 / 64 Bit
 
Der Grund ist die Rückwärtskompatibilität.
Alle DBase-Tabellen, welche heute noch verwendet werden, sollen ca. noch für die nächsten 3 Jahre noch gelesen werden können.
Ab Zeitpunkt X, also ab dem Moment wenn die Applikation Firebird embedded unterstützt, können ja ansonsten die alten DBase Tabellen nicht mehr gelesen werden.

Lemmy 29. Jun 2015 13:54

AW: DB-Zugriffs-Layer DBase / Firebird embedded / 32 / 64 Bit
 
und eine eigene "Viewerapplikation" für die BDE-Tabellen geht nicht? Da würde ja die aktuelle BDE-Programmversion ausreichen, ggf. geschützt gegen Änderungen.

Wenn Du später Erweiterungen an den Tabellen vornimmst müsstest Du diese ja in der BDE auch irgend wie nach führen oder zumindest im Layer die Fehler beim Zugriff abfangen. Vom ganzen Aufwand mal abgesehen...

p80286 29. Jun 2015 14:12

AW: DB-Zugriffs-Layer DBase / Firebird embedded / 32 / 64 Bit
 
Warum eigentlich immer BDE?
Genauso gut kann über ODBC auf DBASE zugegriffen werden (W7) und soweit ich weiß gibt es auch für FB eine entsprechende Schnittstelle. Damit wäre zumindest der BDE-Klotz vom Bein, auch wenn ODBC nicht soo der Bringer ist.

Gruß
K-H

Perlsau 29. Jun 2015 14:13

AW: DB-Zugriffs-Layer DBase / Firebird embedded / 32 / 64 Bit
 
Zitat:

Zitat von michele_tedesco (Beitrag 1307064)
Der Grund ist die Rückwärtskompatibilität.
Alle DBase-Tabellen, welche heute noch verwendet werden, sollen ca. noch für die nächsten 3 Jahre noch gelesen werden können.
Ab Zeitpunkt X, also ab dem Moment wenn die Applikation Firebird embedded unterstützt, können ja ansonsten die alten DBase Tabellen nicht mehr gelesen werden.

Ich würde da ganz anders vorgehen:
  1. Schreib dem/den Kunden eine Nachricht, daß ab sofort DBase wegen Überalterung nicht mehr unterstützt wird.
  2. Stelle dem/den Kunden eine neue Anwendung zur Verfügung, die ausschließlich Firebird unterstützt.
  3. Stelle dem/den Kunden eine Portierungsanwendung zur Verfügung, die die Datensätze aus der alten DB in die neue überträgt.

Und gut ist :cyclops:

hoika 24. Jul 2015 04:36

AW: DB-Zugriffs-Layer DBase / Firebird embedded / 32 / 64 Bit
 
Hallo,
ich werfe mal das gute TDBF ins Spiel.
Das müsste auch 64Bit können.


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz