Encore un pb de migration sqlserver et mysql

Encore un pb de migration sqlserver et mysql - SQL/NoSQL - Programmation

Marsh Posté le 26-12-2006 à 10:14:54    

Bonjour,
voici mon problème : je dois réaliser un utilitaire de migration sqlserver - mysql, mais aussi mysql - sqlserver. Le fait que cela doit marcher dans les deux sens ne posera surement pas de probleme.
 
Jusqu'a présent mon script suit ce cheminement :
 
- ouverture de la base de donnée sqlserver
- construction d'un fichier a plat contenant les données de toutes les tables
- ouverture de la base mysql
- exécution de requetes basées sur les données du fichier à plat
 
Récupérer les données du serveur n'est pas un probleme, cependant je suis confronté aux problèmes de contrainte d'intégrité ("foreign key...." ) de la base. Alors on peut bien évidemment résoudre le problème en suivant un certain ordre dans les tables, mais cela me semble être une solution barbare.
 
Ma question est donc toute simple : existe t il une autre solution pour passer outre ce problème de contraintes, ou existe t il une solution de migration plus efficace ?
 
PS : Le fait de passer par des fichiers à plat n'est pas top, mais ça m'est imposé.


Message édité par frere tuck le 26-12-2006 à 10:25:50
Reply

Marsh Posté le 26-12-2006 à 10:14:54   

Reply

Marsh Posté le 26-12-2006 à 10:51:29    

à la base, SQL Server à des wizards pour faire ça : clic clic clic et zou, t'as envoyé ta base SQL Server vers MySQL ou vice-versa...
 
ce serait peut-être plus pratique non ?
 
d'autant que le résultat du wizard, me semble-t-il, peut s'enregistrer en temps que lot DTS.

Reply

Marsh Posté le 26-12-2006 à 10:52:20    

sinon, t'as pas d'autre choix que de te pallucher l'analyse des tables systèmes.
je te conseille de passer par une cnx OLEDB, et y aller à coup de GetSchema, ça évitera de devoir écrire en dur le nom et la structure des tables systèmes.

Reply

Marsh Posté le 26-12-2006 à 11:27:19    

Le problème c'est que la solution de migration que je réalise ne doit pas s'appuyer sur les outils existants (il y en a aussi pour mysql : mysql migration tool... ). Alors par contre pour éviter d'être emmerdé avec les contraintes je pense utiliser les commandes sql suivantes :
 

Code :
  1. /*Active la contrainte */
  2. ALTER TABLE MaTable NOCHECK CONSTRAINT MaContrainte
  3. /*Désactive la contrainte */
  4. ALTER TABLE MaTable CHECK CONSTRAINT MaContrainte


 
Encore un peu de recherche et j'espère trouver une commande me permettant de désactiver toutes les contraintes d'un seul coup...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed