So exportieren Sie Daten von SQL Server 2005 nach MySQL [geschlossen]

  • Ich habe mit dem Kopf gegen SQL Server 2005 geklopft und versucht, eine Menge Daten herauszuholen. Ich habe eine Datenbank mit fast 300 Tabellen erhalten und muss diese in eine MySQL-Datenbank umwandeln. Mein erster Aufruf war, bcp zu verwenden, aber leider wird keine gültige CSV-Zeichenfolge erzeugt. Zeichenfolgen werden nicht gekapselt. Sie können also keine Zeile bearbeiten, die eine Zeichenfolge mit einem Komma enthält (oder was auch immer als Trennzeichen verwendet wird) und ich müsste noch immer alle create table-Anweisungen von Hand schreiben, da CSV Ihnen offenbar nichts über die Datentypen sagt.

    Was wäre besser, wenn es welche gäbe ein Tool, das sowohl eine Verbindung zu SQL Server als auch zu MySQL herstellen kann, und kopieren Sie dann Sie verlieren Ansichten, gespeicherte Prozeduren, Trigger usw., aber es ist nicht schwer, eine Tabelle, die nur Basistypen verwendet, von einer DB in eine andere zu kopieren ...

    Kennt jemand ein solches Werkzeug? Es macht mir nichts aus, wie viele Annahmen gemacht werden oder welche Vereinfachungen auftreten, solange Integer, Float, Datetime und String unterstützt werden. Ich muss sowieso viel beschneiden, normalisieren usw., also kümmere ich mich nicht darum, Schlüssel, Beziehungen oder ähnliches zu behalten, aber ich brauche die ersten Daten in Fast!

    10 October 2015
    Niranjan N RajuAbdul Manan
5 answers
  • Der beste Weg, den ich gefunden habe, ist das MySQL Migration Toolkit bereitgestellt von MySQL. Ich habe es erfolgreich für einige große Migrationsprojekte verwendet.

    01 August 2008
    Nick Berardi
  • Die SQL Server 2005-Editionen "Standard", "Developer" und "Enterprise" verfügen über SSIS , das DTS von SQL Server 2000 ersetzte. SSIS hat eine eingebaute Verbindung zu seiner eigenen DB, und Sie können eine Verbindung finden, die jemand anderes für MySQL geschrieben hat. Hier ist ein Beispiel. Sobald Sie über Ihre Verbindungen verfügen, sollten Sie in der Lage sein, ein SSIS-Paket zu erstellen, mit dem Daten zwischen den beiden verschoben werden.

    Ich habe keine Daten von SQlServer nach MySQL verschieben müssen, aber ich kann mir vorstellen, dass die MySQl-Verbindung nach der Installation genauso funktioniert wie das Verschieben von Daten zwischen zwei SQLServer-DBs ziemlich geradeaus.

    15 September 2008
    Sean
  • Mit MSSQL Management Studio habe ich Tabellen mit der MySQL OLE DB umgestellt. Klicken Sie mit der rechten Maustaste auf Ihre Datenbank, und wählen Sie "Tasks- & Export". Dort können Sie eine MsSQL-OLE DB-Quelle und die MySQL-OLE DB-Quelle angeben und die Spaltenzuordnungen zwischen den beiden Datenquellen erstellen.

    Möglicherweise möchten Sie die Datenbank und die Tabellen im Voraus auf dem MySQL-Ziel einrichten (der Export möchte die Tabellen automatisch erstellen, was jedoch häufig zum Scheitern führt). Sie können die Tabellen in MySQL schnell erstellen, indem Sie mit der rechten Maustaste auf die Datenbank "Aufgaben - Generate Scripts" klicken. Nachdem Sie Ihre Erstellungsskripts erstellt haben, müssen Sie nach Schlüsselwörtern und Typen suchen und diese ersetzen, die in MSSQL in MYSQL vorhanden sind.

    Natürlich können Sie die Datenbank auch wie üblich sichern und ein Dienstprogramm finden, das die MSSQL-Sicherung auf MySQL wiederherstellt. Ich bin mir nicht sicher, ob einer existiert.

    15 September 2008
  • Das Rolling Ihrer eigenen PHP-Lösung wird sicherlich funktionieren, obwohl ich nicht sicher bin, ob es eine gute Möglichkeit gibt, das Schema automatisch von einer Datenbank zur anderen zu duplizieren (möglicherweise war dies Ihre Frage).

    Wenn Sie nur Daten kopieren und / oder ohnehin benutzerdefinierten Code zum Konvertieren zwischen modifizierten Schemas zwischen den beiden DBs benötigen, würde ich empfehlen, PHP 5.2+ und die PDO-Bibliotheken zu verwenden. Sie können eine Verbindung mit PDO ODBC herstellen (und MSSQL-Treiber verwenden). Ich hatte eine Menge Probleme, große Textfelder und Multibyte-Zeichen aus MSSQL in PHP mithilfe anderer Bibliotheken zu bekommen.

    01 August 2008
    pix0r
  • Ein anderes Werkzeug ist die SQLMaestro-Suite - http://www.sqlmaestro.com Es ist ein wenig schwierig, das genaue Werkzeug genau festzulegen, aber es gibt eine Vielzahl von Werkzeugen, die sowohl kostenlos als auch im Handel erhältlich sind und eine Vielzahl von Aufgaben für mehrere Datenbankplattformen erledigen. Ich würde vorschlagen, zuerst das Data Wizard-Tool für MySQL auszuprobieren, da ich glaube, dass es das richtige "Import" -Tool gibt, das Sie benötigen.

    01 August 2008
    Dillie-O