Hallo,
hat schon mal jemand seine xBase-Datenbanken auf SQL migriert? Was sind so die wichtigsten Schritte zum Erfolg? Welche Fehler sollte man vermeiden? Auch über sonstige Hinweise oder Link's zu dem Thema wäre ich dankbar.
Gruß Jörg
Migration xBase-Datenbanken zu SQL
Moderator: wriedmann
Re: Migration xBase-Datenbanken zu SQL
Hallo Jörg,
das ist ein schwieriger Punkt.
Ich kenne jemanden hier in Italien, der das gemacht hat, allerdings hat er dazu ein extra geschriebenes RDD mit MySQL-Untergrund verwendet, und diverse Verarbeitungen anpassen müssen.
Wie groß sind Deine Tabellen? Und: ist das VO oder X#?
Für X# ist ein SQL-RDD in Arbeit, sollte irgendwann Anfang kommenden Jahres fertig sein.
Wolfgang
das ist ein schwieriger Punkt.
Ich kenne jemanden hier in Italien, der das gemacht hat, allerdings hat er dazu ein extra geschriebenes RDD mit MySQL-Untergrund verwendet, und diverse Verarbeitungen anpassen müssen.
Wie groß sind Deine Tabellen? Und: ist das VO oder X#?
Für X# ist ein SQL-RDD in Arbeit, sollte irgendwann Anfang kommenden Jahres fertig sein.
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Re: Migration xBase-Datenbanken zu SQL
Hallo Wolfgang,
Danke für den schnellen Zwischenstatus.
* meine DBF's basieren auf Vulcan/X#
* es sind ca. 55 DBF's mit je ca. 7 bis 43 Feldern
* welche Funktionen würde mir die 'SQL-RDD' dabei abnehmen - ich hatte so in Richtung Postgres gedacht...
Gruß Jörg
Danke für den schnellen Zwischenstatus.
* meine DBF's basieren auf Vulcan/X#
* es sind ca. 55 DBF's mit je ca. 7 bis 43 Feldern
* welche Funktionen würde mir die 'SQL-RDD' dabei abnehmen - ich hatte so in Richtung Postgres gedacht...
Gruß Jörg
Re: Migration xBase-Datenbanken zu SQL
Jörg,
* Postgres ist sicher eine gute Idee, wenn Du die Wahl hast.
* das Migrieren der Tabellen ist vergleichsweise simpel.
* Das Problem ist die andere Kommunikation zwischen UI und der DB. Im Prinzip sollte der SQL-Rdd das "Verstecken".
Wenn es also nicht furchtbar "brennt", und wenn Du nicht scharf drauf bist, die Logik zwischen UI und DB neu zu schreiben, würde ich drauf warten. Und überlege Dir, ein "FOX" zu werden, dann kannst Du, sobald die Beta beginnt, mitspielen
* Postgres ist sicher eine gute Idee, wenn Du die Wahl hast.
* das Migrieren der Tabellen ist vergleichsweise simpel.
* Das Problem ist die andere Kommunikation zwischen UI und der DB. Im Prinzip sollte der SQL-Rdd das "Verstecken".
Wenn es also nicht furchtbar "brennt", und wenn Du nicht scharf drauf bist, die Logik zwischen UI und DB neu zu schreiben, würde ich drauf warten. Und überlege Dir, ein "FOX" zu werden, dann kannst Du, sobald die Beta beginnt, mitspielen
Regards
Karl
(on Win8.1/64, Xide32 2.20, X#2.20.0.3)
Karl
(on Win8.1/64, Xide32 2.20, X#2.20.0.3)
Re: Migration xBase-Datenbanken zu SQL
Hallo Jörg,
PostgreSQL wird sicher unterstützt werden, dazu ist es für viele zu wichtig (unter anderem für mich). Das SQL-RDD ist unabhängig von der verwendeten SQL-Datenbank angelegt, und sobald die ersten Betas verfügbar sind, werde ich es sicher mit PostgreSQL testen.
Der Ankündigung von Robert nach wird das aber ein separat zu erwerbendes Produkt sein.
An und für sich solltest Du mit recht wenig Aufwand die Datenbank hinter Deiner Applikation austauschen können, und ich vermute, dass es nur bei größeren Datenmengen gewisse Anpassungen brauchen wird.
Wolfgang
@Robert: would it be possible to post your presentation about the SQL RDD from Memmingen here?
PostgreSQL wird sicher unterstützt werden, dazu ist es für viele zu wichtig (unter anderem für mich). Das SQL-RDD ist unabhängig von der verwendeten SQL-Datenbank angelegt, und sobald die ersten Betas verfügbar sind, werde ich es sicher mit PostgreSQL testen.
Der Ankündigung von Robert nach wird das aber ein separat zu erwerbendes Produkt sein.
An und für sich solltest Du mit recht wenig Aufwand die Datenbank hinter Deiner Applikation austauschen können, und ich vermute, dass es nur bei größeren Datenmengen gewisse Anpassungen brauchen wird.
Wolfgang
@Robert: would it be possible to post your presentation about the SQL RDD from Memmingen here?
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Re: Migration xBase-Datenbanken zu SQL
Hallo Karl und Wolfgang,
danke für Eure Info's.
Gruß Jörg
danke für Eure Info's.
Gruß Jörg
Re: Migration xBase-Datenbanken zu SQL
Hallo!
Das Unternehmen, für das ich arbeite, hat dieses Problem vor 10 Jahren gelöst. Zuerst war es eine Lösung für VO, und jetzt haben wir sie auf X# übertragen, wo sie seit zwei Jahren erfolgreich für unsere Kunden läuft.
Die Lösung ist SQL RDD für MS SQL. Die Anwendung kann in zwei Modi arbeiten: klassisches DBF oder neues SQL. Die Codebasis ist dank SQL RDD vereinheitlicht. Außerdem gibt es einen Satz aller notwendigen Wrapper-Funktionen, die je nach Betriebsmodus der Anwendung die Aktion der Dateifunktion umleiten. Für die File-Funktion haben wir beispielsweise die RDD_File-Funktion. Im DBF-Modus ruft es einfach die ursprüngliche Dateifunktion auf und im SQL-Modus wandelt es den Dateinamen in den Namen einer SQL-Tabelle um und sendet eine Anfrage zur Überprüfung der Existenz der Tabelle an den SQL-Server. In einer einzelnen Codebasis wird nur RDD_File aufgerufen, das bereits „weiß“, wie es funktioniert. Und so weiter für alle anderen Funktionen wie RDD_FCopy, RDD_FFirst und viele andere. Zur Unterstützung von Indizes (wir verwenden CDX) wurde ebenfalls eine Lösung entwickelt und alle SQL-Funktionen geschrieben, die in Indexausdrücken in CDX-Dateien verwendet werden. Indexausdrücke werden in SQL-Ausdrücke konvertiert, die in speziellen berechneten Spalten (PERSISTED) enthalten sind, die CDX-Indizes nachahmen. Die berechneten Daten werden zum Ausführen von Befehlen wie DBSkip (in Sortierreihenfolge verschieben), DBSeek usw. verwendet. Und es gibt noch viele weitere kleinere, aber nicht weniger wichtige Details, die wir entwickelt haben, um DBFCDX fast vollständig zu imitieren, und das alles in einer einzigen Codebasis.
P.S.
1. Ich entschuldige mich für die möglicherweise unklare Bedeutung des Geschriebenen, da ich den Text mit Google Translate ins Deutsche übersetzt habe.
2. Mein Unternehmen verkauft unser SQLRDD nicht, weil wir nicht mit dem kommenden SQLRDD des X#-Teams konkurrieren wollen.
Das Unternehmen, für das ich arbeite, hat dieses Problem vor 10 Jahren gelöst. Zuerst war es eine Lösung für VO, und jetzt haben wir sie auf X# übertragen, wo sie seit zwei Jahren erfolgreich für unsere Kunden läuft.
Die Lösung ist SQL RDD für MS SQL. Die Anwendung kann in zwei Modi arbeiten: klassisches DBF oder neues SQL. Die Codebasis ist dank SQL RDD vereinheitlicht. Außerdem gibt es einen Satz aller notwendigen Wrapper-Funktionen, die je nach Betriebsmodus der Anwendung die Aktion der Dateifunktion umleiten. Für die File-Funktion haben wir beispielsweise die RDD_File-Funktion. Im DBF-Modus ruft es einfach die ursprüngliche Dateifunktion auf und im SQL-Modus wandelt es den Dateinamen in den Namen einer SQL-Tabelle um und sendet eine Anfrage zur Überprüfung der Existenz der Tabelle an den SQL-Server. In einer einzelnen Codebasis wird nur RDD_File aufgerufen, das bereits „weiß“, wie es funktioniert. Und so weiter für alle anderen Funktionen wie RDD_FCopy, RDD_FFirst und viele andere. Zur Unterstützung von Indizes (wir verwenden CDX) wurde ebenfalls eine Lösung entwickelt und alle SQL-Funktionen geschrieben, die in Indexausdrücken in CDX-Dateien verwendet werden. Indexausdrücke werden in SQL-Ausdrücke konvertiert, die in speziellen berechneten Spalten (PERSISTED) enthalten sind, die CDX-Indizes nachahmen. Die berechneten Daten werden zum Ausführen von Befehlen wie DBSkip (in Sortierreihenfolge verschieben), DBSeek usw. verwendet. Und es gibt noch viele weitere kleinere, aber nicht weniger wichtige Details, die wir entwickelt haben, um DBFCDX fast vollständig zu imitieren, und das alles in einer einzigen Codebasis.
P.S.
1. Ich entschuldige mich für die möglicherweise unklare Bedeutung des Geschriebenen, da ich den Text mit Google Translate ins Deutsche übersetzt habe.
2. Mein Unternehmen verkauft unser SQLRDD nicht, weil wir nicht mit dem kommenden SQLRDD des X#-Teams konkurrieren wollen.
Best regards,
Leonid
Leonid
Re: Migration xBase-Datenbanken zu SQL
Hi Leonid,
great, thanks for your description!
Wolfgang
great, thanks for your description!
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Re: Migration xBase-Datenbanken zu SQL
Hallo Leonid,
das klingt interessant, vielen Dank für diese Gedanken.
Es wird eine Variante sein, bestehenden Code nicht neu zu schreiben. Es wird aber wahrscheinlich nicht mehr praktikabel zu sein, wenn die SQL-Datenbank in der Cloud arbeiten soll?
Gruß Jörg
das klingt interessant, vielen Dank für diese Gedanken.
Es wird eine Variante sein, bestehenden Code nicht neu zu schreiben. Es wird aber wahrscheinlich nicht mehr praktikabel zu sein, wenn die SQL-Datenbank in der Cloud arbeiten soll?
Gruß Jörg
Re: Migration xBase-Datenbanken zu SQL
Hallo Jörg,
wenn die Datenbank über die "normalen" Treiber, d.h. ADO.NET, erreichbar ist, dann sollte auch das SQL-RDD damit zurechtkommen.
Wolfgang
wenn die Datenbank über die "normalen" Treiber, d.h. ADO.NET, erreichbar ist, dann sollte auch das SQL-RDD damit zurechtkommen.
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it