Poster une réponse à un sujet: Réplication MSSQL vers MySQL
Attention, ce sujet est un sujet ancien (4872 jours sans réponse)
zion
Toutafé
![:ocube: :ocube:](images/smileys/ocube.gif)
testeurdesite
Scriptons peu mais scriptons bien !
![:martoh_lawyer: :martoh_lawyer:](images/smileys/martoh_lawyer.gif)
zion
Bon, finalement j'ai opté pour l'écriture d'un script après avoir tenté le truc DBSync. Avec DBSync pour synchroniser 2gb de tables il me fallait 2h, apparemment bien optimisé leur truc (
), la même chose scripté en prenant compte des spécificités des modifs, ça fait une synchro différentielle en 20s.
Y a pas photo, valait mieux faire un script finalement
![:kiki: :kiki:](images/smileys/kiki.gif)
Y a pas photo, valait mieux faire un script finalement
![:tinostar: :tinostar:](images/smileys/tinostar.gif)
zion
J'hésite à créer un petit script en fait, j'aurai probablement un meilleur contrôle des données
![:figti: :figti:](images/smileys/figti.gif)
netux.org
Et surtout en format SQL compréhensible par mysql, car le dialecte de chaque SGBD est différent
![:ohwell: :ohwell:](images/smileys/ohwell.gif)
Sinon nous au boulot on n'a pas eu le choix de la DB non plus, on doit faire une appli PHP qui s'appuie sur une DB SQL Server, donc... le serveur web est sous windows (pas le choix, le seul driver PHP correct récent et maintenu pour SQL Server n'existe que pour windows, merci MS).
Salut,
J'utilise un serveur ubuntu avec "tdsodbc".
Il attaque le serveur MSSQL en php et en profite pour mettre quelques tables à jours depuis MSSQL 2000 vers MySQL.
C'est pratique pour des petits volumes mais j'aimerais bien "industrialiser" le processus et répliquer la base complète.
J'ai trouvé cet article chez MS :
http://support.microsoft.com/kb/283790/fr
Il décrit la procédure pour créer une trace côté serveur (MS).
Cette trace pourrait être exportée et relue sous MySQL mais il reste quelques soucis de "dialecte" :
1) MS SQL est insensible à la casse alors que la sensibilité de MySQL à la casse dépend du système sur lequel il est installé.
Dans mon cas, sous linux, les noms des tables sont sensibles à la casse alors que les instructions "jouées" sur le serveur ont été écrites sans see préoccuper de la casse.
2) Les instructions contiennent des mentions telles que "With NOLOCK" qui poluent.
Je pense qu'il est possible de passer les instructions dans une moulinette pour les rendre compatibles mais je commence à me demander si ça vaut la peine de se prendre la tête alors que la solution ODBC/PHP fonctionne bien.
Je n'ai pas testé ce process et je ne pas combien d'autres soucis je risque de rencontrer en persistant dans cette voie.
zion
Pinou> Merci, je vais zieuter.
Ma a500 est arrivée, j'en ai déjà un peu fait le tour, et j'ai qqs critiques positives et négatives, un article va arriver je le sens
Ma a500 est arrivée, j'en ai déjà un peu fait le tour, et j'ai qqs critiques positives et négatives, un article va arriver je le sens
![:ddr555: :ddr555:](images/smileys/ddr555.gif)
Pinou
Bon, j'ai quand même un peu regardé.
http://www.navicat.com/en/products/navicat_premium/premium_overview.html
Batch job for different kind of databases can also be scheduled and run at a specific time. Other features include Import/ Export Wizard, Query Builder, Report Builder, Data Synchronization, Backup, Job Scheduler and more.
Question prix, ça va de 199 à 499 $
Je pense pas que la version Lite permet ce genre de manip.
![:ddr555: :ddr555:](images/smileys/ddr555.gif)
http://www.navicat.com/en/products/navicat_premium/premium_overview.html
Citation de: Navicat
Navicat Premium enables you to easily and quickly transfer data across various database systems, or to a plain text file with designated SQL format and encoding.Batch job for different kind of databases can also be scheduled and run at a specific time. Other features include Import/ Export Wizard, Query Builder, Report Builder, Data Synchronization, Backup, Job Scheduler and more.
Question prix, ça va de 199 à 499 $
Je pense pas que la version Lite permet ce genre de manip.
Pinou
http://www.navicat.com/ ?
Je sais qu'ils ont des outils de réplications pour certains SGDB et qu'ils ont, depuis peu, une version MS SQL.
Mais je sais pas s'ils répliquent du MS vers My.
Sorry, pas le temps/courrage de regarder plus en détails sur le site maintenant.
P.S. rien à voir : Ta A500 est arrivée ? Pour "tu sais qui" ça doit arriver jeudi je pense.
Je sais qu'ils ont des outils de réplications pour certains SGDB et qu'ils ont, depuis peu, une version MS SQL.
Mais je sais pas s'ils répliquent du MS vers My.
Sorry, pas le temps/courrage de regarder plus en détails sur le site maintenant.
P.S. rien à voir : Ta A500 est arrivée ? Pour "tu sais qui" ça doit arriver jeudi je pense.
ovh
Maintenant, il reste à savoir comment exporter le journal (transaction log) en format SQL
![:petrus: :petrus:](images/smileys/petrus.gif)
Et surtout en format SQL compréhensible par mysql, car le dialecte de chaque SGBD est différent
![:ohwell: :ohwell:](images/smileys/ohwell.gif)
Sinon nous au boulot on n'a pas eu le choix de la DB non plus, on doit faire une appli PHP qui s'appuie sur une DB SQL Server, donc... le serveur web est sous windows (pas le choix, le seul driver PHP correct récent et maintenu pour SQL Server n'existe que pour windows, merci MS).
Dr_Dan
Je ne connais pas MSSQL, (j'ai toujours travaillé avec Oracle
)
Je suppose qu'il est possible d'exporter le journal des transactions, et de l'importer dans Mysql. Ainsi tu ne synchronises que les dernières modifications et pas l'entièreté de la DB.
Maintenant, il reste à savoir comment exporter le journal (transaction log) en format SQL
![:petrus: :petrus:](images/smileys/petrus.gif)
Je suppose qu'il est possible d'exporter le journal des transactions, et de l'importer dans Mysql. Ainsi tu ne synchronises que les dernières modifications et pas l'entièreté de la DB.
Maintenant, il reste à savoir comment exporter le journal (transaction log) en format SQL
![:petrus: :petrus:](images/smileys/petrus.gif)