hans1: MYSQL und MS SQL

Hallo,

ich habe ein Warenwirtschaftsystem in MSSQL und einen Shop in MYSQL. Ist es möglich Liveabfragen oder Views über beide Systeme fahren zu lassen?

Gibt es einen speziellen Weg, wie man größere Datenmengen einer MYSQL Tabelle mit einer SQL Tabelle (identische Spalten) synchron hält?

Ich möchte einen Export/Import mittels XML vermeiden.

Wer hat Erfahrungen damit?

Gruß
Hans

  1. Hallo,

    ich habe ein Warenwirtschaftsystem in MSSQL und einen Shop in MYSQL. Ist es möglich Liveabfragen oder Views über beide Systeme fahren zu lassen?

    Gibt es einen speziellen Weg, wie man größere Datenmengen einer MYSQL Tabelle mit einer SQL Tabelle (identische Spalten) synchron hält?

    Igitt; fieses Problem...

    Soll die Synchro etwa auch noch bidirektional sein?

    Ich möchte einen Export/Import mittels XML vermeiden.

    Das ist verständlich.

    Wer hat Erfahrungen damit?

    Gruß
    Hans

    Versionsnummern sind absolut notwendig für einen Lösungsansatz; ferner die DDL für die Tabelle(n).

    Bitte Links auf die Versionsdokus beifügen!

    Grüsse

    Solkar

    1. Hallo,

      Es läuft MS SQL 2003.
      Der Shop wird neu aufgesetzt, somit kann jedes MYSQL ab 3 laufen.
      Es muss nicht bidirektional sein, d.h. die Administration soll in nur im SQL Serer laufen. Im Mysql nur die Abfrage der Darstellung.

      SQL hat ja mit 40000 Artikel (Import/Export) keine Probleme, wie sieht es denn mit dem MYSQL aus?

      Der Aufbau der Tabelle ist nicht klar. Es wird ein individueller View sein, ohne Abhängigkeiten zu anderen Tabellen.

      Gruss
      Hans

      1. Hallo,

        Es läuft MS SQL 2003.

        Den Link zur Doku bitte angeben.

        Der Shop wird neu aufgesetzt, somit kann jedes MYSQL ab 3 laufen.
        Es muss nicht bidirektional sein, d.h. die Administration soll in nur im SQL Serer laufen. Im Mysql nur die Abfrage der Darstellung.

        Das ist gut.

        SQL hat ja mit 40000 Artikel (Import/Export) keine Probleme, wie sieht es denn mit dem MYSQL aus?

        Das könntest Du selbst ganz einfach testen.

        Der Aufbau der Tabelle ist nicht klar. Es wird ein individueller View sein, ohne Abhängigkeiten zu anderen Tabellen.

        Wieso dann "View"? Sind Primärviews Kundenvorgabe?

        Gruss
        Hans

        Grüsse

        Solkar

  2. 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