Hallo,
eventuell schaust Du Dir mal die Komponente TBatchMove an, sie benötigt noch die
BDE, was ja bei Deinem Altsystem auch der Fall ist. Mit dieser Komponenten kann man recht einfach Tabellen zwischen Datenbanken kopieren. Zum Kopieren müssen sie halt beide über die
BDE erreichbar sein. Das gilt aber nur für die Kopierroutinen, die ja nur einmalig benötigt werden und ist für den späteren Zugriff auf die Zieldatenbank nicht relevant.
Die Komponente bietet auch die Möglichkeit, beim Kopieren unterschiedliche Spaltennamen zu matchen. Problemfälle kann sie in Paradoxtabellen protokollieren. Der Programmieraufwand hält sich in Grenzen, da ein Programm für viele Tabellen genutzt werden kann. Je Quell- und Zieltabelle benötigt man halt den Namen der Quell- und Zieltabelle, die Namen der "Fehler"-Tabellen und eine Stringliste mit dem Matching der Spalten (sofern hier keine 1:1-Übernahme erfolgt).
Bei einer 1:1-Übernahme kann man hiermit in eine Schleife alle Tabellen einer Datenbank kopieren, man muss nur die Tabellennamen jeweils austauschen und den Kopiervorgang starten.
Mit dieser Komponente habe ich schon Daten zwischen diversen (kleineren) Datenbanken ausgetauscht, in der Regel war die Quelle dbase oder
Paradox und das Ziel Oracle oder
SQL-Server.
Die Komponente bietet verschiedene Modi für die Datenübernahme, von hinzufügen, über hinzufügen und aktualisieren, reinem kopieren, reinem aktualisieren bis zum Löschen.
Hierüber dürfte auch eine Normalisierung der Tabellen möglich sein, wenn man Quelle und Ziel geschickt auswählt und so eine Quelltabelle in mehreren Schritten in die entsprechenden Zieltabellen übernimmt. Muss man im Zielsystem aber erst noch neue Schlüssel generieren, dann dürfte die Leistungsgrenze der Komponente erreicht oder überschritten sein.
http://edn.embarcadero.com/article/25620