mysql - und - sql tabelle in excel exportieren




So exportieren Sie Daten von SQL Server 2005 nach MySQL (4)

Ich habe mit meinem Kopf gegen SQL Server 2005 gestoßen und versucht, eine Menge Daten herauszubekommen. Ich habe eine Datenbank mit fast 300 Tabellen erhalten und muss diese in eine MySQL-Datenbank umwandeln. Mein erster Aufruf war die Verwendung von bcp, aber leider wird keine gültige CSV-Datei erstellt - Zeichenfolgen sind nicht gekapselt, daher können Sie keine Zeile bearbeiten, in der eine Zeichenfolge mit einem Komma enthalten ist (oder was auch immer Sie als Trennzeichen verwenden). und ich müsste immer noch alle Anweisungen zum Erstellen von Tabellen von Hand schreiben, da CSV Ihnen offensichtlich nichts über die Datentypen verrät.

Besser wäre es, wenn es ein Tool gäbe, das eine Verbindung zu SQL Server und MySQL herstellen könnte, und dann eine Kopie erstellen würde. Sie verlieren Ansichten, gespeicherte Prozeduren, Trigger usw., aber es ist nicht schwierig, eine Tabelle zu kopieren, die nur Basistypen von einer Datenbank in eine andere verwendet.

Kennt jemand ein solches Tool? Es macht mir nichts aus, wie viele Annahmen es macht oder welche Vereinfachungen auftreten, solange es Integer, Float, Datetime und String unterstützt. Ich muss sowieso viel beschneiden, normalisieren usw., damit es mir egal ist, ob ich Schlüssel, Beziehungen oder ähnliches behalte, aber ich brauche die ersten Daten schnell!


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 (vielleicht war dies Ihre Frage).

Wenn Sie nur Daten kopieren und / oder trotzdem benutzerdefinierten Code zum Konvertieren zwischen geänderten Schemata zwischen den beiden DBs benötigen, würde ich die Verwendung von PHP 5.2+ und den PDO-Bibliotheken empfehlen. Sie können eine Verbindung über PDO ODBC herstellen (und MSSQL-Treiber verwenden). Ich hatte viele Probleme, große Textfelder und Multi-Byte-Zeichen aus MSSQL mit anderen Bibliotheken in PHP zu bekommen.


Der beste Weg, den ich gefunden habe, ist das von MySQL bereitgestellte MySQL Migration Toolkit . Ich habe es erfolgreich für einige große Migrationsprojekte verwendet.


Mit MSSQL Management Studio habe ich Tabellen mit dem MySQL OLE DB umgestellt. Klicken Sie mit der rechten Maustaste auf Ihre Datenbank und gehen Sie zu "Aufgaben-> Daten exportieren". Dort können Sie eine MsSQL OLE DB-Quelle und die MySQL OLE DB-Quelle angeben und die Spaltenzuordnungen zwischen den beiden Datenquellen erstellen.

Höchstwahrscheinlich möchten Sie die Datenbank und die Tabellen im Voraus auf dem MySQL-Ziel einrichten (beim Export werden die Tabellen automatisch erstellt, was jedoch häufig zu Fehlern führt). Sie können die Tabellen in MySQL schnell erstellen, indem Sie mit der rechten Maustaste auf die Datenbank klicken. Sobald Ihre Erstellungsskripte generiert wurden, müssen Sie die in MSSQL zu MYSQL vorhandenen Schlüsselwörter und Typen durchsuchen und ersetzen.

Natürlich können Sie die Datenbank auch wie gewohnt sichern und ein Hilfsprogramm finden, das die MSSQL-Sicherung unter MYSQL wiederherstellt. Ich bin mir jedoch nicht sicher, ob es eine gibt.


SQL Server 2005 "Standard" -, "Developer" - und "Enterprise" -Editionen haben SSIS , das DTS von SQL Server 2000 ersetzt. SSIS verfügt über eine integrierte Verbindung zu seiner eigenen Datenbank, und Sie können eine Verbindung finden, die eine andere Person für MySQL geschrieben hat . Here ist ein Beispiel. Sobald Sie Ihre Verbindungen hergestellt haben, sollten Sie in der Lage sein, ein SSIS-Paket zu erstellen, das Daten zwischen den beiden verschiebt.

Ich musste noch keine Daten von SQlServer nach MySQL verschieben, aber ich stelle mir vor, dass das Verschieben von Daten zwischen zwei SQLServer-DBs nach der Installation der MySQl-Verbindung genauso funktioniert wie das einfache Verschieben von Daten.





bcp