Wie exportieren Daten aus SQL Server 2005 zu MySQL

stimmen
80

Ich habe meinen Kopf worden hämmern gegen SQL Server 2005versuchen, eine Menge Daten zu erhalten. Ich habe eine Datenbank mit fast 300 Tabellen in ihm gegeben , und ich brauche diese in eine MySQL - Datenbank zu drehen. Mein erster Anruf war bcp zu verwenden , aber leider ist es nicht produziert gültige CSV - Strings sind nicht gekapselt, so dass Sie nicht mit jeder Zeile umgehen können , die eine Zeichenfolge mit einem Komma in er hat (oder was auch immer Sie als Trennzeichen verwenden) und ich müsste noch alle Tabellen Anweisungen erstellen Hand schreiben, wie offensichtlich nicht CSV nicht sagen, nichts über die Datentypen.

Was wäre besser, wenn es irgendein Tool ist, den SQL Server und MySQL verbinden könnte, dann eine Kopie machen. Sie verlieren Views, Stored Procedures, Trigger, usw., aber es ist nicht schwer, eine Tabelle zu kopieren, die nur Basistypen von einem DB zu einem anderen verwendet ... ist es?

Weiß jemand, der ein solches Werkzeug? Ich habe nichts dagegen, wie viele Annahmen macht oder welche Vereinfachungen auftreten, solange es integer, float, Datetime und String unterstützt. Ich habe eine Menge der Beschneidung zu tun, Normalisieren usw. sowieso so dass ich nicht über das Halt Schlüssel, Beziehungen oder irgendetwas wie das egal, aber ich brauche die erste Reihe von Daten in schnell!

Veröffentlicht am 01/08/2008 um 17:22
quelle vom benutzer
In anderen Sprachen...                            


5 antworten

stimmen
58

Der beste Weg , die ich gefunden habe , ist die MySQL Migration Toolkit von MySQL zur Verfügung gestellt. Ich habe es erfolgreich für einige große Migrationsprojekte verwendet.

Beantwortet am 01/08/2008 um 18:54
quelle vom benutzer

stimmen
8

Mit MSSQL Management Studio Ich habe transitioned Tabellen mit der MySQL-OLE DB. Rechtsklicken Sie auf die Datenbank und wählen Sie „Tasks-> Daten exportieren“ von dort eine MsSQL OLE DB-Quelle angeben können, die MySQL-OLE DB-Quelle und erstellen Sie die Spaltenzuordnungen zwischen den beiden Datenquellen.

Sie werden höchstwahrscheinlich die Datenbank und Tabellen im Voraus auf der MySQL-Ziel einrichten möchten (der Export werden die Tabellen automatisch erstellen möchten, aber dies führt oft zu einem Versagen). Sie können schnell die Tabellen in MySQL mit dem „Tasks-> Gene Scripts“ mit der rechten Maustaste auf die Datenbank erstellen. Sobald Sie Ihre Kreation Skripte generiert werden, werden Sie brauchen für Schlüsselwörter und Typen durch und Suchen / Ersetzen zu dem Schritt, die MYSQL in MSSQL existieren.

Natürlich können Sie auch ein Backup der Datenbank wie normalen und ein Dienstprogramm finden, die den MSSQL-Backup auf MYSQL wieder herstellen. Ich bin mir nicht sicher, ob man sich jedoch existiert.

Beantwortet am 15/09/2008 um 17:23
quelle vom benutzer

stimmen
8

SQL Server 2005 „Standard“, „Entwickler“ und „Enterprise“ Ausgaben haben SSIS , die DTS von SQL Server ersetzt 2000. SSIS eine in Verbindung mit seiner eigenen DB gebaut hat, und Sie können eine Verbindung finden , dass jemand anderes für MySQL geschrieben hat . Hier ist ein Beispiel dafür . Sobald Sie Ihre Verbindungen haben, sollten Sie in der Lage sein , ein SSIS - Paket zu erstellen , die Daten zwischen den beiden bewegt.

Ich habe nicht zu bewegen, Daten von SQLServer zu MySQL hatte, aber ich glaube, dass, sobald der MySQl Anschluss installiert ist, ist es das gleiche wie das Verschieben von Daten zwischen zwei SQLServer DBs arbeitet, die nach vorne ziemlich gerade ist.

Beantwortet am 15/09/2008 um 17:11
quelle vom benutzer

stimmen
7

Roll Ihre eigene PHP-Lösung wird sicherlich arbeiten, obwohl ich nicht sicher bin, ob es eine gute Möglichkeit ist, automatisch das Schema von einem DB zum anderes zu duplizieren (vielleicht war dies Ihre Frage).

Wenn Sie nur das Kopieren von Daten und / oder Sie müssen sowieso benutzerdefinierter Code zwischen modifizierten Schema zwischen der beide DB zu konvertieren, würde ich mit PHP 5.2+ und den PDO-Bibliotheken empfehlen. Sie werden in der Lage sein PDO ODBC eine Verbindung mit (und verwenden MSSQL-Treiber). Ich hatte eine Menge Probleme große Textfelder und Multi-Byte-Zeichen von MSSQL in PHP mit anderen Bibliotheken zu bekommen.

Beantwortet am 01/08/2008 um 17:36
quelle vom benutzer

stimmen
5

Ein weiteres Werkzeug , um zu versuchen , würde die SQLMaestro Suite sein - http://www.sqlmaestro.com Es ist ein wenig schwierig festzunageln das genaue Werkzeug, aber sie haben eine Vielzahl von Werkzeugen, sowohl kostenlose als auch für den Kauf , das eine Vielzahl von Aufgaben zu bewältigen für mehrere Datenbank - Plattformen. Ich würde das Data Wizard - Tool zunächst für MySQL schlagen versuchen, da ich das glaube das richtige „Import“ Werkzeug haben Sie benötigen.

Beantwortet am 01/08/2008 um 17:47
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more