2010-03-18 6 views
1

Nous devons refaire une base de données MySQL qui a déjà été faite sur Informix, y a-t-il un moyen de migrer non seulement le schéma, mais aussi les procédures stockées?Migration du schéma et du SP d'Informix vers mysql

Merci.

Nous avons un client à qui nous avons construit une application Web qui utilise une base de données Informix. Maintenant, le client veut être en mesure d'implémenter le même logiciel mais sur plusieurs réseaux fermés (comme 20). Faire cela en utilisant Informix serait très coûteux (20 licences X_X). Donc, la meilleure approche est de refaire la base de données sur quelque chose comme MySQL.

L'application a été effectuée en utilisant Flex, .Net (en utilisant ODBC) et Informix.

Répondre

2

J'ai fait une chose similaire, mais j'ai migré la base de données Informix vers PostgreSQL. Au début, j'ai dbexporté la base de données entière, de sorte que l'ensemble des données et des informations de schéma était dans le texte. Puis j'ai écrit quelques programmes Python qui traduisaient le schéma, par exemple Informix DATETIME YEAR TO SECOND doit être converti en timestamp with time zone.

Lorsque tous CREATE TABLE/INDEX etc travaillé alors j'ai traduit .unl fichiers aux commandes PostgreSQL COPY. Vous devez rechercher comment charger en masse dans MySQL ou convertir ces fichiers en commandes INSERT. Après cela, j'ai commencé à convertir des procédures stockées. Alors que PostgreSQL PL/pgSQL et Informix SPL sont très différents, cette partie a été la plus difficile et j'ai pu convertir automatiquement uniquement des "prototypes" de fonctions. Le corps des fonctions a dû être converti manuellement.

Si vous avez terminé cela, vous devrez vérifier si votre application fonctionne bien avec une nouvelle implémentation SQL.

+0

à quel point était-il difficile pour vous et/ou votre équipe de traduire du SPL au PL? Pensez-vous que vous avez essentiellement refait votre SP ou était-ce plus facile puisque vous venez de traduire manuellement votre code? Im essayant d'estimer le temps, merci – sergiogx

+0

Je pense que vous devez vérifier combien de procédures stockées vous avez et ce qu'ils font, puis traduisez certains d'entre eux. Si vous traduisez de 3 à 5, il serait plus facile de dire combien de temps vous aurez à consacrer à la traduction de toutes les procédures. –