Mysql mit einer Ms Sql Datenbank über Php Syncronisieren

splasch

Erfahrenes Mitglied
Hi

Villeicht habt ihr ja noch einen besseren Vorschlag wie man das Lösen könnte.Es geht darum ein Warenwirtschaft system mit dem Onlineshop abzugleichen.

Problemstellung:
1.) Es handelt sich um 2 verschiedene Datenbanken einmal mysql und einmal Ms Sql 2005

2.) Zudem sind die Tabellennamen und Spalten unterschiedlich aber der Aufbau ähnlich sollte als kein Problem darstellen.

Nun hab ich mir gedacht ich mach einfach einen csv Export aus der Ms Sql Datenbank mittels Sql befehl.

Diese erzeugten csv Datein lade ich dann in den Webshop hoch.Für den Onlineshop schreibe ich dann noch zusätzlich ein convertierungs Programm in Php das die csv Dateien ausliest und in mysql befehl umsetzt und diese dann an die Mysql Datenbank sendet.
(Nachteil an der sache man weiß net ob es updates gab oder neue Einträge daher wird nix anderes übrig bleiben als die komplette Tabelle immer hochzuladen.)

Hat wer noch andere Vorschläge wie man das Lösen könnte.

Mfg Splasch
 
Ich löse sowas mit einem Datenintegrationstool namens Kettle (kettle.pentaho.org)
Mit Kettle kannst du sogenannte Transformationen graphisch modellieren, die anschließend mit Hilfe einer Engine ausgeführt werden.
Mit Kettle wäre z.B. folgende Szenarien denkbar:

Szenario 1: Auf dem Server ist Java installiert
Auf dem Server des Online Shops wird die Kettle-Engine installiert (die Kettle Engine läuft unter Java) und du hast dort eine modellierte Transformation hinterlegt. Diese Transformation ließt eine csv Datei ein, gleicht den Datenbestand mit der lokalen Datenbank ab, updated geänderte Datensätze, löscht nicht mehr vorhandene, usw.
Schätzungsweiser Aufwand: Nen halben Tag, wenn du Ahnung hast wie du ne Transformation mit dem Kettle Editor erstellst.

Szenario 2: Auf dem Server ist kein Kettle installiert.
Du installierst Kettle lokal auf deinem Rechner und erstellt eine .csv der Daten des online shops, die lädst du runter und speicherst sie auf dem Rechner. Anschließend modellierst du eine Transformation die den Datenbestand des Warenwirtschaftssystem mit dem Datenbestand der csv Datei synchronisiert. Pro Datensatz lässt du SQL-Befehle für MySQL generieren (oder auch nicht wenn sich der Datensatz nicht geändert hat) und speicherst sie innerhalb der Transformation in ne separate Datei ab. Ist die Transformation fertig lädst du sie auf den Server hoch und führst sie aus.

Die verschiedenen Prozesse ließen sich auch automatisieren, sodass dieser Prozess jede Nacht durchlaufen wird, hierzu bietet Kettle z.B. die Möglichkeit sich zu nem FTP zu connecten.

Für die Einarbeitung in Kettle ist jedoch Zeit notwendig, die du vielleicht nicht hast, das kann ich nicht beurteilen.
 
Danke für die Anwort.

Kettle kenn ich nicht. Szenario 1 ist nicht möglich. Da es sich dabei um einen Webspace handelt worauf der Onlineshop läuft. Also kein eigener Webserver.

Szenario 2 macht das ganze umgekehrt als es sein sollte. Nicht vom Webshop sollen die Daten auf Warenschaftsystem übertragen werden sondern von Warenwirtschaftsystem auf den Webshop.

Webshop->mysql
Warenwirtschaftsystem->ms Sql

Mfg Splasch
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück