Benutzung eines SQL-Servers an Stelle von dbf-Files

Deutschsprachiges X#-Forum – German language forum

Moderator: wriedmann

Post Reply
FrankWuttke
Posts: 3
Joined: Sat Jan 25, 2020 10:03 am

Benutzung eines SQL-Servers an Stelle von dbf-Files

Post by FrankWuttke »

Guten Tag zusammen,

ich bin neu hier und bitte um Entschuldigung, wenn ich möglicherweise an der falschen Stelle poste. :-)

Ich habe vor ein paar Jahren eine bestehende Handwerkersoftware übernommen, die mit VO geschrieben ist. Aktuell portieren wir die gerade mit Hilfe von XSharp nach .net und kommen auch ganz gut voran.

Nun möchten wir gerne eine APP herstellen, mit der dann die Handwerker auf die Daten des Handwerkerprogramms zugreifen können. Aus diesem Grund experimentieren wir gerade mit einem .net-Datenprovider für xBase-Dateien herum und haben uns auch schon ein Entity-Framework-Repository als Model für die weitere Nutzung erstellt. Allerdings funktioniert der xBase-Provider nicht fehlerfrei und mir erscheint das alles recht wackelig.

Deshalb hatte ich die Idee, dass man ja vielleicht einen Zwischenlayer in XSharp bauen könnte, der auf der einen Seite mit einem SQL Server spricht und auf der anderen Seite ein Interface hat, wie XSharp mit VO-Syntax es benötigt. Dann könnte ich die Daten einmalig aus den xBase-Dateien in den SQL Server migrieren und das Programm würde künftig über diese Zwischenschicht mit dem SQL Server sprechen.

Anschließend wäre es dann sehr einfach, auf Basis einer SQL-Datenbank eine APP zu bauen und man hätte zudem alle Vorteile, die ein SQL Server so bietet...

In anderen Entwicklungsumgebungen haben wir so etwas auch schon mal gemacht bzw. nutzen eine ähnliche Vorgehensweise.

Nun dachte ich mir, dass ich vielleicht nicht der erste bin, der eine solche Idee hat und traue mich, das hier mal in die Runde zu posten. Vielleicht kann mir ja jemand behilflich sein oder hat einen Tipp, wie ich mit dieser Idee weiterkommen kann.

Vielen Dank und viele Grüße

Frank Wuttke
User avatar
wriedmann
Posts: 3644
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

Benutzung eines SQL-Servers an Stelle von dbf-Files

Post by wriedmann »

Hallo Frank,
zuerst mal: willkommen hier, und nein, Du bist nicht an der falschen Stelle, da wir nur ein deutsches Forum haben.

Was Du vorschlägst, hört sich interessant an, und ich habe Ähnliches schon mehrmals gehört.
So hat ein Kollege hier in Italien ein VO-RDD im Einsatz, das im Hintergrund mit MySQL arbeitet, und in Australien gibt es ein Projekt, wo ein PostgreSQL-Server in einem Dataserver gekapselt ist.
Es kann durchaus auch sein, daß hier vom Entwicklungsteam selber was kommt - allerdings weiß ich nicht wie und wann.
Ein solches Projekt kann man sicher auch als User-Projekt angehen, und ich bin mir sicher, dass einige da interessiert sein werden.
Denkst Du eher an die Realisierung auf RDD-Ebene oder auf Ebene der DataServer/DBServer?
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
FrankWuttke
Posts: 3
Joined: Sat Jan 25, 2020 10:03 am

Benutzung eines SQL-Servers an Stelle von dbf-Files

Post by FrankWuttke »

Hallo Wolfgang,

vielen Dank für die schnelle Antwort. Leider kann ich Deine Frage nicht beantworten, weil ich nicht genau weiß, wo der Unterschied ist. Mir wurde erklärt, dass RDD so etwas wie ein DB-Treiber ist, also so ähnlich wie ein .net-Data-Provider. Ich kenne aber die Begrifflichkeit "Ebene der DataServer/DBServer" nicht. Deshalb weiß ich nicht, was besser für den angedachten Verwendungszweck nicht.

Viele Grüße

Frank

Frank
User avatar
Zdeněk Krejčí
Posts: 19
Joined: Wed Sep 04, 2019 8:07 am

Benutzung eines SQL-Servers an Stelle von dbf-Files

Post by Zdeněk Krejčí »

Hallo,

Ich denke, eine gute Inspiration wäre es, den VFP-Cursoradapter kennenzulernen. Sie können mit den vom SQL-Server heruntergeladenen Daten wie mit einer DBF-Tabelle arbeiten, einschließlich automatischer Aktualisierungen der Daten auf SQL.

Zdeněk
User avatar
wriedmann
Posts: 3644
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

Benutzung eines SQL-Servers an Stelle von dbf-Files

Post by wriedmann »

Hallo Zdenek,
das mit dem VFP-Cursor-Adapter wäre sicher eine gute Idee - da seid Ihr VFP-Leute uns VO-Programmierern doch ordentlch voraus.
Und ich denke, dass auch wir von den Implementierungen für VFP in X# noch viel profitieren können,
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
User avatar
wriedmann
Posts: 3644
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

Benutzung eines SQL-Servers an Stelle von dbf-Files

Post by wriedmann »

Hallo Frank,
für den Zugriff auf DBF-Daten verwendest Du wahrscheinlich den DBServer. Dieser vererbt vom DataServer, genau wie die SQLSelect-Klasse zum Zugriff auf SQL-Datenbanken oder eine der ArrayServer-Implementierungen. Zudem gibt es noch ein paar andere Klassen auf diese Ebene (so verwende ich eine eigene Klasse zum Zugriff über http(s) auf entfernte SL-Server).
Die Ebene der RDDs (Replaceable Database Driver) liegt weiter unten, und wird nur vom DBServer genutzt.
Mit VO werden DBFCDX und DBFNTX mitgeliefert, und als 3rd Party Produkt gibt es noch z.B. den AXDBFCDX (Advantage Database Server). Und auf genau dieser Ebene wurde das mir bekannte MySQL-RDD implementiert: dadurch verhält sich die MySQL-Datenbank genau wie eine DBF-Datei, allerdings mit ein paar Nachteilen.
Persönlich würde ich eine solche Klasse eher auf Ebene des DataServers implementieren - die bedingt dann aber eine mehr oder weniger starke Anpassung des Programmes - und es hängt auch davon ab, ob ReportPro oder der bBrowser eingesetzt werden, denn die brauchen diese Anpassungen dann auch.
Wolfgang
P.S. bin dieses Wochenende nicht zu Hause, also können meine Antworten auch etwas länger brauchen
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
User avatar
Heinrich
Posts: 33
Joined: Wed Feb 10, 2016 4:44 pm

Benutzung eines SQL-Servers an Stelle von dbf-Files

Post by Heinrich »

Hallo Frank
Vor Jahren habe ich mal einen DBF2SQL Konverter geschrieben und am VOUserGroup Treffen in Konstanz vorgestellt. Damit werden auf der SQL Seite die benötigten TAbellen angelegt und gleich auch noch mit den vorhandenen Daten abgefüllt. -> http://www.voug-bodensee.net/Zip-Download/DbfToSql.zip

In der Zwischenzeit habe ich meine VO Applikationen nach XSharp portiert und verwende MySQL/MariaDB als Datenspeicher. Den Datenadappter habe ich selber geschrieben und dabei bei den VO SDK Klassen abgekupfert. Die Kommunikation mit den "alten" VO-Fenstern übernimmt der bServer von J. Bieler. Ohne geht es auch, aber ich benutze in den alten Programmen noch den bBrowser.

Vielleicht ist es ja das, was Du suchst. Bei Interesse einfach melden.
Gruss Heinrich
Attachments
MigrationVO2XSharp.zip
(762.24 KiB) Downloaded 19 times
Automatischer Datentransfer in SQL-DB.zip
(788.33 KiB) Downloaded 20 times
FrankWuttke
Posts: 3
Joined: Sat Jan 25, 2020 10:03 am

Benutzung eines SQL-Servers an Stelle von dbf-Files

Post by FrankWuttke »

Hallo Heinrich,

vielen Dank! Das klingt sehr danach, als dass es auch das ist, was ich suche. Können wir darüber bitte mal sprechen?

Viele Grüße

Frank
User avatar
Heinrich
Posts: 33
Joined: Wed Feb 10, 2016 4:44 pm

Benutzung eines SQL-Servers an Stelle von dbf-Files

Post by Heinrich »

Hallo Fank
Ja sicher, hier meine Tel. Nr. +41 71 411 62 62 / +41 79 898 65 56

Gruss Heinrich
Post Reply