Frank (no reg): MYSQL und MS SQL

Beitrag lesen

Hallo,

es gibt keinen MS SQL Server 2003. Entweder 2000 oder 2005.

In beiden kannst du über ODBC sogenannte LINKED SERVER registrieren. Wir benutzen das z.b. mit Oracle 8i. Du brauchst dann aber auf dem Server die installierten Client Komponenten, mind. einen ODBC Datenbankprovider für MySQL. (Gibt es aber bestimmt irgendwo, notfalls für Geld). Als Beispiel: Für Oracle heisst dieser MSDAORA und stammt von Microsoft selbst. Allerdings sind die nativen Oracle Komponenten besser. Google wird hinsichtlich der o.g. Stichworte sicherlich einiges an Ergebnissen auswerfen.

Allerdings würde ich Live-Abfragen (desto komplizierter, desto weniger) nicht unbedingt darüber abwickeln, sondern lieber mit einem Batch-Job regelmässig (alle 2 oder 3 Stunden mal) die Daten in den SQL Server (z.b. in eine andere DB) hineinsaugen. So ein Script ist leicht geschrieben und getestet und läuft dann oft fehlerfrei bis in alle Ewigkeiten (zmd bei mir). Im SQL Server kannst du dann datenbankübergreifend Views anlegen und nutzen.

Evt. gibt es auch Erweiterungen für die Replikationsfunktionen von MS SQL Server hinsichtlich MySQL. Wobei dann eher MySQL als Master und MS SQL als Slave. Merge oder Transaktionale Replikation ist da eher schwieriger zu gewährleisten.

Es kommt auch drauf an, wie genau du "synchron" definierst.

Man muss auch nicht immer XML exportieren und Importieren. Auch mit CSV und BCP (Bulk Copy Program) oder mit SSIS (SQL Server Integration Services) und SQL Agent Jobs lassen sich solche Dinge durchaus im Rahmen nicht allzuübertriebener Anforderungen umsetzen. SQL Server Replikation läuft letztenendes "auch nur" über SQL Agent Jobs. ;)

Ciao, Frank