# [MySQL] Migration Tool



## StefanLausL (27. November 2007)

Hallo,

ich versuche leider immer noch erfolglos Daten von SQL-Server auf MySQL zu importieren.
(siehe http://www.tutorials.de/forum/relat...-sql-server-2000-mysql-export-zu-langsam.html

Mein nächster Versuch war nun das Migration Tool von MySQL zu nutzen.
Leider werden hier nur 3 Tabellen von 14 Tabellen importiert.
Die Tabellen werden zwar neu erstellt aber die Daten werden nicht importiert.
Z.B. bei dieser Tabelle wird nichts eingefügt:
----------------------------
Getting the number of rows of table Abteilung
SELECT count(*) AS total_num FROM "dbo"."Abteilung"
Transfering data from table Abteilung (43/43 rows)
----------------------------
ENDE ohne Fehlermeldung.

Was mache ich Falsch ?
Die Einstellungen beim Import sind übrigens alle Standard.

Bitte helft mir !
Bin bald am durchdrehen


Hab jetzt mal versuch nur die eine Tabelle zu übernehmen.
Es kommt doch ein Fehler:
          Incorrect string value: '\xEF\xBF\xBDfts...' for column 'Bezeichnung' at row 13
          0 row(s) transfered.

Und zwar enthält der Eintrag einen Umlaut.
Kann das daran liegen ?
Liegt das am Zeichensatz ?


----------



## marbe (27. November 2007)

Hallo,

wie auch in dem anderen Thread kann man das wieder nur schwer beantworten. 

1. Welche Attribute hat den die Tabelle Abteilungen? 
2. Welche Datentypen? 
3. Musst Du das mehr als einmal ausführen? 
4. Wie kannst Du zwischen den Datenbanken Dich verbinden?

Zu 1. und 2. Spalten vom Typ Text, Image und so Exoten machen immer Ärger
Zu 3. Wenn Du nur einmal migrieren willst würde ich es "basteln" also auch manuelle Tätigkeiten in Kauf nehmen. Wenn es aber zB 2x täglich versorgen soll musst es genauer in machen.
Zu 4. Welche Infrastruktur ist gegeben, liegt alles auf einem Server oder muss man durchs UNternehmesnetzwerk noch? Oder gar ins Internet. Welche Möglichkeiten gibt es ODBC für mySQL zu installieren. 

Schnittenstellen zwischen verschiedenen System machen oft Probleme daher sollte man sich die Zeit nehmen und eine gewissenhafte Planung machen.

Als Tipps:

1. Man könnte versuchen ein kleines DUMP Programm zu schreiben, also alles als fertig formatierte DDL Skripte aus geben wie bei PHPmyAdmin der Export.

2. Man kann probieren im SQL Server eine ODBC Verbindung zu erstellen Remote Database und so in die andere DB schreiben.

3. Man kann versuchen Migrationstools zu kaufen (siehe dein Thread)

4. Man kann sich professionelle Berater holen  (kostet je nach Aufwand)

Vielleicht hilft Dir einer meiner Gedanken weiter


----------



## StefanLausL (28. November 2007)

Gute Morgen,

vielen Dank das Du mir wenigsten versucht weiter zu helfen.
Leider stellen mir Deine Antworten eher mehr Fragen auf als das sie mir helfen. 

Wie ich in bereits anderen Threads schrieb:

- Der Datenexport soll mehrmals täglich erfolgen
- Die Datenbanken liegen auf dem selben Server
- Der Datenimport über ODBC dauert viel zu lange
- Von den Attrributen her, sind keine Exoten dabei
 (Char,Varchar,Int,double)

Was meinst Du mit "genauer" machen ?
Der Datenexport funktioniert ja im Moment über ODBC,
aber eben 10x so lange. 
Das ist doch nicht normal oder ?
Ich dachte das das Migration Tool für genau so eine Aufgabe
geschaffen wurde und dies besser funktioniert.


----------



## marbe (28. November 2007)

Hallo,

mit "genauer machen" meine ich, dass wenn es täglich lauifen soll bietet es sich an
in die Entwicklung des Programms zum synchronisieren Zeit und Aufwand zu investieren.

Jedoch wenn es nur einmal gemacht wird um einmalig Daten zu kopieren würde ich in jedem Fall pragmatischer vorgehen.


----------



## StefanLausL (28. November 2007)

Die Bedeutung vom Begriff "GENAU" ist mir schon klar ! 
Schließlich bin ich der deutschen Sprache mächtig !  

Sorry, aber eigentlich hatte ich eine Tip erwartet der mir bei der Suche nach dem Problem weiter hilft und nicht so was !


----------



## StefanLausL (30. November 2007)

Bin jetzt so weit das die Tabelle importiert werden kann.
Leider erscheinen die Umlaute mit "?" oder "[]" in der Tabelle.

Beim Migration Tool kann man sich ja auch eine Inserts.sql ausgeben lassen.
Hier stehen schon die Umlaute falsch drin.
Wenn ich die Umlaute abändere un das Skript zum Import benutze,
sind die Umlaute korrekt.
Irgendwie schein MySQL die Daten korrekt zu schreiben aber falsch aus SQL auszulesen.

Hat jemand noch eine Idee ?


----------



## StefanLausL (30. November 2007)

So nach einer Woche hab ich nun das Problem behoben.
Für alle die es wissen wollen:

Bei der Connection zum SQL-Server muss dem ODBC Treiber wie folgt angesprochen werden:

jdbc:jtds:sqlserver://server:1433/db;user=benutzer;password=kennwort;charset=ISO-8859-1;domain=


----------



## ajpor (29. Dezember 2007)

Danke für die Lösung, bin zwar erst seit einem Tag an dem Problem, aber auf das Ding mit dem ConnectionString wär ich auch in einer Woche nicht gekommen.


----------

