0

Ich bin ein Linux-Typ, der zwischen den "Fenstern" verloren ist!Sicheres Synchronisieren ausgewählter Daten aus bestimmten Tabellen in einer lokalen SQL-Datenbank mit einer entfernten MySQL-Datenbank

Ich habe ein ERP, das Daten auf einem lokalen Windows SQL Server speichert. Aus irgendeinem Grund müssen wir einige ausgewählte Daten aus bestimmten Tabellen regelmäßig synchronisieren, wobei eine MySQL-Instanz auf einem entfernten Windows-Server gehostet wird. zu wissen, dass der entfernte MySQL von einer Zend2 Web Application betrieben wird.

enter image description here

Nach meinem Wissen und Verständnis, die native Option Ich schlage vor, ist die folgende:

Ein API PHP auf dem entfernten Server verwenden, und meine Daten einreichen mit PUT oder POST durch einfachen ein Skript auf dem lokalen Rechner, in diesem Fall muss ich folgendes:

  • eine API auf dem entfernten Server auf dem loca
  • konfigurieren eines zusätzlichen PHP-Server bauen l Windows-Maschine.
  • Erstellen Sie ein kleines Skript, um die API mit den ausgewählten Daten aufzurufen.
  • behandeln alle Fälle des Synchronisationsprozesses auf dem entfernten Server.
  • suchen Periodic Trigger auf dem lokal Windows (So etwas wie Linux Cronjob)

Diese Lösung scheint kompliziert, und die viele Schichten in einer großen Wahrscheinlichkeit von Problemen führen würden, der Grund, warum ich dort bin sicher, andere sind Wege, es zu tun.

Ein Windows-Typ empfahl BizTalk als eine Middleware, die den lokalen Teil-Job behandeln würde, entweder mit einer normalen API oder irgendeiner anderen niedrigen Interaktivität mit dem entfernten Server.

Er empfahl auch Windows-Aufgaben als periodischer Auslöser zu verwenden.

Denken Sie, dass meine Lösung die optimale ist? Wenn nicht, was schlägst du vor ?!

+0

Haben Sie BizTalk bereits? Gerade für solch eine kleine Aufgabe wäre es ziemlich teuer in Lizenzkosten. Haben Sie SSIS in SQL verwendet?Das hat sowohl Terminplanung und die Möglichkeit, eine Verbindung zu MySQL – Dijkgraaf

Antwort

1

Ich würde auf ein Drittanbieter-Tool wie DBSync (keine Empfehlung) Ich habe ein paar verschiedene 1-Wege-und 2-Wege-Sync-Tools in der Vergangenheit, die einen (Master-Slave) Replikationsdienst zwischen verschiedenen Datenbanken erstellen. Ich bin sicher, dass es auch einige Open-Source-Lösungen gibt, aber ein lizenziertes Tool könnte am besten mit MSSQL zu MySQL funktionieren.

http://download.cnet.com/DBSync-for-MSSQL-and-MySQL/3000-10254_4-10784422.html

+0

Vielen Dank, ich werde dbSync überprüfen und kommen zurück, aber bitte beachten Sie, dass ich nicht interessiert bin an einer vollständigen Replikation, nur einige ausgewählte Tabellen oder sogar Felder. –

+0

Ja, ich verstehe das, deshalb habe ich empfohlen, DBSync so zu gestalten, dass nur bestimmte Tabellen im Formular synchronisiert werden können. – glind

+0

Danke, es ist zunächst, was ich gesucht habe. Ich war auch überrascht, dass ich einen Zeitplan für die Aufgaben über die GUI festlegen kann. –

2

Ich würde ein SSIS-Paket verwendet, da es sowohl die Fähigkeit geplant werden muss und zu MySQL verbinden kann.

BizTalk ist eine Option, wenn Sie bereits verfügbar haben, wäre es ziemlich teuer für nur diesen einen Job, es sei denn, es gibt mehr Integrationsanforderungen, für die Sie es verwenden werden. BizTalk hat die Möglichkeit, die Datenbank in regelmäßigen Intervallen abzufragen, sodass Sie diese anstelle einer geplanten Aufgabe verwenden können.

In keinem der oben genannten Szenarien sollten Sie einen lokalen PHP-Server konfigurieren müssen.

+0

Nun, ich habe versucht, Antworten auf zwei Fragen zu SSIS zu finden: Ist es eine kommerzielle Lösung ?! und verbindet es sich mit einem entfernten MySQL? Wenn ja, haben Sie verwandte Artikel, da die, die ich gefunden habe, nur über SQL Server sprechen. –

+0

SSIS wird mit SQL Server geliefert. Es ist das Standardintegrationswerkzeug dafür, das wirklich für Massen-ETL zwischen Datenbanken gedacht ist. –

Verwandte Themen