[SQL-Server 2000] -> [MySQL] Export zu langsam

StefanLausL

Erfahrenes Mitglied
Hallo,

wie bereits im Titel geschrieben.
Mein Export über den Enterprise Manager von SQL Server 2000 in eine MySQL Datenbank
dauert über 2 Stunden.
Zum Vergleich der Export in eine Access DB dauerte nur 10 Minuten.
Gibt es eine elegantere Möglichkeit die Daten in MySQL zu importieren ?
Dies sollte aber auch automatisiert stattfinden können also durch das Ausführen eines Skriptes oder so.

Für eine Hilfe wäre ich sehr dankbar !
 
Vielleicht ist das ja auch nicht die sinnvollste Methode.
Was gibt es denn noch für Möglichkeiten ?

Hallo StefanLausL. Mich würde interessieren wie du das mit dem Data Transformation Service geschafft hast.

Ich habe ebenfalls ein DTS Paket erstellt und bei mir kommt beim Ausführen immer diese Fehlermeldung: "The number of failing rows exceeded the maximum specified." oder auf Deutsch irgendwas mit "Die Anzahl der fehlerhaften Zeilen übersteigt die maximal erlaubte Anzahl." oder so.

Als Quelle dient meine M$ SQL Server 2000 Datenbank und als Ziel meine MySQL Datenbank (eingebunden über den ODBC Treiber als "Andere Verbindung"). Die Zwei Elemente habe ich mit der "Transformation Connection" verbunden und eingestellt, dass nur eine Tabelle übertragen wird. Das Testen des Paketes funktioniert. Das Ausführen jedoch nie. :confused:

Um auf deine Frage zurück zu kommen:

Bei mir ist das Erstellen der "Transformation Connection" sehr sehr langsam. Ich warte da manchmal 5 Minuten bis der Dialog wieder reagiert und in der Titelleiste des Fensters steht schon lange "Keine Rückmeldung"...

Andere Möglichkeiten einen Export zu machen sind:

- Bulk Copy Programm (bcp.exe) von SQL-Server für Export und INFILE Programm von MySQL für den Import
- Das MySQL Migration Toolkit erlaubt es sehr konfortabel über ein GUI einen Export durchzuführen: http://www.mysql.com/products/tools/migration-toolkit/
- Das MySQL Migration Toolkit hat eine GRT (Generic Runtime Environment) Shell, mit der man einen Migrations-Task auch "programmieren" kann. Am einfachsten führst du den Export dann mit dem im vorherigen Punkt genannten Toolkit grafisch durch und lässt dir beim letzten Schritt ein Skript automatisch generieren. Dieses Skript kannst du dann mit dem "grtsh.exe" (ist nach der Installation des Migration Toolkits vorhanden) Programm jederzeit ausführen: grtsh.exe -x <skriptdatei.lua>. Du kannst zB einen Scheduled Task unter Windos einrichten und so einen Abgleich jeden Tag um Mitternacht ausführen. Dieses Programm scheint auch viel viel schneller zu sein als die DTS vom SQL Server.
 
Zuletzt bearbeitet:
Moing,

Ja mit der GRT vom Migrations Tool habe ich es nun gemacht.
Funktioniert bisher nach einigen Problemen fehlerfrei und ist in wenigen Sekunden
durchgelaufen.

Dies Fehlermeldung hatte ich mit den DTS Paketen auch oft.
Ich denke mit einem Doppelklick auf die Fehlermeldung erhälst eine genauere Beschreibung des Problems. Bei mir hatten Spaltennamen wie Limit z.b. Probleme in MySQL gemacht.
Da dies wohl eine interne Funktion ist. Auch Datentypen wie Text in SQL machen in MySQL
Probleme. Der Fehler kann also alles sein !
Mittlerweile würde ich sagen mach den Export mit dem Migration Tool.
t echt klasse ! :)
 
Diese Fehlermeldung von mir ist bereits die, die erscheint, wenn man auf den Fehlereintrag beim Paket klickt. Sonst steht da nur "Es ist ein Fehler aufgetreten." oder so. :(

Ich habe eine relativ einfache Tabelle übertragen wollen, die nur 2 Spalten hat. Eine ID (int) und einen Text (VARCHAR(200)). Ich kann mir den Fehler insofern nicht erklären, da die Typen in der MySQL Server Datenbank 1:1 die selben sind. :confused:

Ich denke ich bleibe auch bei dem Migration Tool. Da funktioniert es ohne Probleme und auch ziemlich schnell. Das Problem ist leider, dass man bei den DTS vom SQL-Server ziemlich viele nette Sachen machen könnte, wie zB eine E-Mail in einem Fehlerfall versenden usw. :mad:
 

Neue Beiträge

Zurück