VFP Anwendung nach Delphi migrieren – die Datenbank

Daten von einer VFP Datenbank in eine Delphi geeignete Datenbank importierenDie Migration einer VFP – Anwendung in eine entsprechende Delphi Anwendung ist ohne Zweifel ein spannendes Projekt, das aber nicht ohne Mühe zu bewerkstelligen ist. Eine der ersten Voraussetzungen, die erfüllt sein müssen, ist die Wahl einer neuen Datenbank, wobei hier genügend Kandidaten zur Verfügung stehen, wie NexusDB, ElevateDB, Microsoft SQL-Server, Oracle DB, FireBird… In der Auswahl ist man nicht limitiert, wobei hier wahlweise ein Komplettpaket eines Anbieters gewählt werden kann, wie beim Kauf von NexusDB, wo man eben Datenbankserver und Zugriffskomponenten in einem erhält, oder man verwendet eine kostenpflichtige oder kostenlose Datenbank, auf die man wiederum mit kostenlosen oder kostenpflichtigen Zugriffskomponenten von Delphi aus zugreifen kann. Last but not least, auch je nach Delphi Version, reichen auch die Bordmittel.

Bei Visual Foxpro bekommt man ein All-In-One Paket, bei Delphi eine riesige Auswahl, z. T. auch an Kombinationsmöglichkeiten, die der Aufmerksamkeit bedürfen. Sicherlich ist auch eine Wahl je nach eigenen Bedürfnissen und Anforderungen zu treffen und kann nur nach gründlicher Prüfung der jeweiligen Situation beurteilt werden.

Nachdem man eine Wahl getroffen hat, stellt sich dann die Herausforderung: Wie kommen die Daten der bisherigen VFP Anwendung in die neue Delphi Anwendung, bzw. von der Foxpro Tabelle in die neue Datenbank, denn in der Delphi Welt, wie auch in den meisten anderen modernen Entwicklungsumgebungen hat man sich bereits länger von xBase Datenbanken verabschiedet, eingebaute Optionen wird man daher nicht finden.

Drei Wege, um Daten auf einer VFP – Tabelle zu importieren

  1. ADO/ODBC – über diesen Weg kann man durchaus lesend auf VFP Tabellen zugreifen. Dies hat aber den Nachteil, dass beim Endkunden immer der entsprechende VFP Treiber installiert ist. Zudem erwies sich das Ganze bei mir immer als etwas wackelig.
  2. Advantage Database – Sybase bietet für seinen Advantage Database Server auch eine lokale Variante, welche kostenlos ist. Diese besteht aus einigen Komponenten, welche in Delphi installiert werden (Table…) und einigen DLLs, die man mit ausliefern muss. Vorteil: dies funktioniert recht zuverlässig, nur mit Indexdateien hatte ich ab und an Problem. Nachteile: auch wenn das Ganze nur zum einmaligen Import dient, müsste man die entsprechenden DLLs mit ausliefern. Kein sonderlich großes Problem, aber auch nicht sehr elegant.
  3. TDBF – eine sehr beliebte Komponente, mit der man zumindest lesend recht zuverlässig auf VFP Tabellen zugreifen kann. Leider aber nicht mehr weiter entwickelt, sodass es ab Delphi 2009 Probleme gab, wegen der damaligen Unicode Umstellung.

Persönlich habe ich Variante 3 gewählt (TDBF) musste aber zur damaligen erfolgreichen Installation unter Delphi 2009 eine Anpassung an den Sourcecode vornehmen, sodass letztlich die Komponente erfolgreich kompiliert werden konnte.

Mit ein bisschen googlen findet man auch (unter anderen auf Souceforge) aktuelle, angepasste Varianten von TDBF, die auch mit neueren Delphi Versionen laufen könnten. Wie gut dies funktioniert, muss man im Einzelfall testen.

Hat man die Hürde des DBF – Imports erstmal genommen, gehört die xBase Welt unter Delphi bereits der Vergangenheit an und man kann sich den moderneren Entwicklungsmöglichkeiten hier widmen, die Delphi und dafür geeignete Datenbanken bieten.

Achten sollte man beim Import besonders auf Einträge mit Datumswerten und Fließkommawerten. Ebenso sollte man Indexdateien erst nach dem Import erstellen, insbesondere, wenn man AutoInc – Felder verwendet.

Und sollten Sie ein Projekt von VFP nach Delphi migrieren wollen und diese oder andere Fragen haben, dann können Sie mich natürlich auch kontaktieren bezüglich einer Projektmitarbeit.  Setzt natürlich immer ein entsprechendes Zeitbudget bei mir voraus, aber fragen kann man immer.

Werbung & Infos:

HP Deal Days Angebote im HP Store (Juli 2024)

Aktuelles Bitdefender Angebot


Verwandte Themen: