            * * *     Forum OXMO Message  * * *

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Titre : [RESOLU] Portage d'une base MsSQL en MySQL
Lancé le 11-03-2005 18:49 par matapala
Téléchargé de https://www.forum.oxmo.org/showthread.php?threadid=33136
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 1]
Auteur : matapala
Date : 11-03-2005 18:49
Titre : [RESOLU] Portage d'une base MsSQL en MySQL

Bonjour,

Je dois faire un script php pour une migration de base de donnees. 
Les problemes sont : 
La taille de la base: environ 1,2 Go dont une table avec plus d'un million d'enregistrements.
Les types de champs bizarres utilises par MsSQL.
J'utilise la lib Sybase, j'ai reussi a convertir convenablement les types bizarres de MsSQL nvarchar, ntext ou encore uniqueidentifier. Ce qui fait que je cree mes tables comme il faut. 
L'ennui c'est au remplissage des tables, un SELECT * sur une table de 1 000 000 d'enregistrements ca fait mal, tres mal. 
Si quelqu'un avait une petite idee ca m'aiderait bien.
Je precise que le script doit migrer la base en moins d'une heure. 
Je galere depuis 6 jours la dessus. Toute aide sera la bienvenue

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 2]
Auteur : Schoubi
Date : 12-03-2005 14:22

Ca a l'air d'être vachement fiable MsSQL, il suffit de taper ça dans google et on obtien plein de pages "repair MsSQL Table" "MsSQL to MySQL", etc....§rofl§

Bon courage !

[url]http://www.globalshareware.com/Business-Finance/Database-Management/MSSQL-to-MySQL.htm[/url]
[url]http://www.convert-in.com/mss2sql.htm[/url]

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 3]
Auteur : matapala
Date : 12-03-2005 21:21

Merci pour les liens, je vais regarder comment ils font.
J'avais oublie de preciser que le script tournait sous linux qu'il devait etre lance par un utilisateur dans un navigateur.
Ma quete continue ....

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 4]
Auteur : matapala
Date : 25-03-2005 13:03

Bon voila j'ai reussi a porter cette satane base. Pour ceux que ca interesse, je peux leur envoyer mon script.
J'ai utilise freetds, [url]www.freetds.org,[/url] une lib bien sympathique pour communiquer  avec un serveur MsSQL.
Comme je n'avais pas le droit de modifier la configuration des serveurs de production, j'ai du compiler mon propre binaire php.
En gros, je genere toutes les requetes de creations de tables et d'insertion en une seule fois pour faire un maximum de lectures sur le serveur MsSQL. Pour l'insertion du cote MySQL, j'insere toutes les valeurs en une seul requetes par base. Pour cela je lock la table en ecriture, une petite astuce que j'ai trouvee sur le site de MySQL.
Mon prochain proj : la replication de bases Mysql chouette.

J'en ai marre des bases de donnees !

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 5]
Auteur : wlad93
Date : 25-03-2005 13:05

1 million d'enregistrements en moins d'une heure ??? §YA§
Ca va être dur amha...

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Post 6]
Auteur : matapala
Date : 26-03-2005 13:30

[QUOTE][i]Message écrit par wlad93, le 25-03-2005 à 14:05 [/i]
[B]1 million d'enregistrements en moins d'une heure ??? §YA§
Ca va être dur amha... [/B][/QUOTE]

Oui c'etait dur mais ca passe en un peu moins d'une heure.
Evidement faut pas lancer le script tous les jours.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

