Et surtout en format SQL compréhensible par mysql, car le dialecte de chaque SGBD est différent
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.