Il est possible de convertir de Microsoft SQL vers MySQL grâce à Mysql Migration Tools, un outil gratuit de Sun Microsystem.
L’outil est facile d’utilisation et l’interface est claire. Il suffit de créer les connexions vers la source et la cible. L’outil vous demandera alors de choisir les tables que vous désirez transférer et vous permettra même de corriger et de modifier les erreurs de mapping et de conversion qui peuvent survenir. Vous pouvez alors sauvegarder le résultat en fichier .SQL pour une réutilisation future.
Problèmes avec les accents ?
Il est possible que le code page par default vous posent des problèmes. Comme l’outils ne vous demande pas le code page à utiliser lors de la connection, il faudra alors configurer soit même à laide d’un connexion string. Pour se faire il faut choisir advanced(avancé) au moment de la création de la connexion source à MSSQL et créer la connexion string selon le modèle suivant :
Connexion à MSSQL
jdbc:jtds:sqlserver://localhost:1433/database;user=Nom d’usager;password=mot de passe;charset=cp1252;domain=
Connexion à MySQL
jdbc:mysql://localhost:3306/?user=Nom d’usager&password=mot de passe&useServerPrepStmts=false&characterEncoding=latin1
Il peut aussi être utile de remplir de façon normal les informations de connexion et d’observer le résultat dans l’option avancer du 3 ieme écran. Il s’agit alors de copier cette dernière et d’y modifier simplement le code page (charset pour MSSQL et characterEncoding pour MySQL). Le code page dépend du language. En Francais c’est généralement latin1 (CP1252) pour trouver votre code page vous pouvez consulter http://msdn.microsoft.com/en-us/library/aa288104(VS.71).aspx/p>
ou encore mieux et plus complet (Sur le sîte de MySQL)
http://www.collation-charts.org/
Notez que les champs de type BLOB n’ont pas de charset alors les accents n’apparaitrons pas correctement même avec les bonnes infos. Il faut donc faire un export des données pour les réintégrés après avoir changé le type de Blob à TEXT. Seulement changer le type du champs ne suffit pas.
Autre détail utile
Si vous avez des images ou des fichiers sauvegarder directement dans la base de donnée il est possible que ceux ci dépassent la limite de 4M de l’outils. Il y a une options dans avancé dans l’écran de transfert en vrac des données qui sert justement à corriger le problème. Je vous invite à utilisé la vue avancée dans chaque écran au moins une fois question de voir tout les possibilités.
Bonne conversion