OVH Cloud OVH Cloud

migrer d'Informix SE a MySQL

4 réponses
Avatar
Bob qui Trolle
Bonjour,

Je dispose d'applications de gestion un peu anciennes fonctionnant sous
Informix SE (v. 7.24) sur Linux, écrites avec l'environnement de
developpement Informix (isql / langage ACE). Peut-être devrais-je
préciser que je ne connais pas Informix et que je me perds un peu dans
la volumineuse documentation papier. Par ailleurs, je n'ai pas pû
trouver de réponse à ma question avec Google et Google Groups.

Souhaitant migrer les données vers une base MySQL, j'utilise
l'utilitaire Informix dbexport, qui me fournit d'une part le schéma de
base en SQL et d'autre part les données.

Ayant jeté un oeil au fichier de schéma de base fourni par dbexport (ou
dbschema), il s'avère qu'il semble s'agir d'un bête fichier SQL.

Pour autant, le SQL produit ne semble pas être interprété correctement
par MySQL.

Je me suis donc lancé dans l'écriture de scripts shell traduisant tant
que faire se peut le SQL d'Informix en un SQL compréhensible par MySQL.

Outre le problème des mots réservés, dont la liste diffère d'un SGBDR à
l'autre, quelqu'un saurait-il comment trouver une référence du SQL
utilisé par Informix, ou, au moins, le nom du dialecte SQL utilisé par
Informix ? Rêvons un peu : quelqu'un aurait-il déjà écrit des scripts de
migration Informix->MySQL ?

4 réponses

Avatar
Trognon Patrice
http://www.navicat.com/Informix-mysql-Konverter/index.php
http://www.tc.umn.edu/~hause011/code/Convert_schema.html
http://www.oracle.com/technology/software/tech/migration/toolkits/informix/infmx_ds.pdf

le query "Convert informix schema" dans google va te donner des résultats.

Une autre solution pour faire ta convertion est de disposer
d'un poste windows client avec les drivers ODBC installés pour
Informix et pour MySql, ainsi que Access.

Tu import par un lien ODBC toutes tes tables Informix dans Access.
Tu export ensuite par ODBC toutes les tables vers mysql.

Attention, ca va te donner un schéma basique, a toi de l'exporter
en sql a partir de mysql et le retravailler ensuite a la main
pour corriger les oublies d'access.
Mais au moins tu auras ton schéma mysql, pas parfait certe, mais tu
l'auras.

bien cordialement.

Patrice Trognon.
http://www.javadevel.com



Bonjour,

Je dispose d'applications de gestion un peu anciennes fonctionnant sous
Informix SE (v. 7.24) sur Linux, écrites avec l'environnement de
developpement Informix (isql / langage ACE). Peut-être devrais-je
préciser que je ne connais pas Informix et que je me perds un peu dans
la volumineuse documentation papier. Par ailleurs, je n'ai pas pû
trouver de réponse à ma question avec Google et Google Groups.

Souhaitant migrer les données vers une base MySQL, j'utilise
l'utilitaire Informix dbexport, qui me fournit d'une part le schéma de
base en SQL et d'autre part les données.

Ayant jeté un oeil au fichier de schéma de base fourni par dbexport (ou
dbschema), il s'avère qu'il semble s'agir d'un bête fichier SQL.

Pour autant, le SQL produit ne semble pas être interprété correctement
par MySQL.

Je me suis donc lancé dans l'écriture de scripts shell traduisant tant
que faire se peut le SQL d'Informix en un SQL compréhensible par MySQL.

Outre le problème des mots réservés, dont la liste diffère d'un SGBDR à
l'autre, quelqu'un saurait-il comment trouver une référence du SQL
utilisé par Informix, ou, au moins, le nom du dialecte SQL utilisé par
Informix ? Rêvons un peu : quelqu'un aurait-il déjà écrit des scripts de
migration Informix->MySQL ?
Avatar
Bob qui Trolle
Trognon Patrice wrote:

http://www.navicat.com/Informix-mysql-Konverter/index.php
http://www.tc.umn.edu/~hause011/code/Convert_schema.html



http://www.oracle.com/technology/software/tech/migration/toolkits/informix/infmx_ds.pdf

le query "Convert informix schema" dans google va te donner des


résultats.

Mer-ci !! J'y cours !!!!!!!

Une autre solution pour faire ta convertion est de disposer
d'un poste windows client avec les drivers ODBC installés pour
Informix et pour MySql, ainsi que Access.



J'avais bien pensé à passer par (J|O)DBC, mais la difficulté de mettre
en oeuvre JBDC, OBDC, Java, ou toute version relativement récente d'un
logiciel libre sur le paléo-unix vintage 1993 en production hébergeant
l'informix m'a dissuadé. Donc, ça sera sed et du pur/bin/sh côté export.

évidemment, vu comme ça, MySQL est un choix par défaut. Mais IBM-DB2
n'est pas envisageable (propriétaire, pas assez ouvert, trop cher).
Avatar
Jerome PAULIN
Bob qui Trolle wrote:

évidemment, vu comme ça, MySQL est un choix par défaut. Mais IBM-DB2
n'est pas envisageable (propriétaire, pas assez ouvert, trop cher).



Et pourquoi pas FireBird, libre, ouvert, plus complet en terme de
fonctionalités que mySQL ?????

gg
Avatar
Bob qui Trolle
Jerome PAULIN wrote:
Bob qui Trolle wrote:


évidemment, vu comme ça, MySQL est un choix par défaut. Mais IBM-DB2
n'est pas envisageable (propriétaire, pas assez ouvert, trop cher).




Et pourquoi pas FireBird, libre, ouvert, plus complet en terme de
fonctionalités que mySQL ?????



Je viens de lire tes arguments un peu plus haut à ce sujet. J'ai
récupéré firebird-1.5.1.4481.tar.bz2, pour voir : ça compile, même pas
trop de warnings même en -Wall. Pourquoi pas ? Je serais curieux de voir
comment ça digèrerait un schéma Informix un peu tordu brut de décoffrage :-)

Bon, en pratique, je ne suis pas DBA, et je ne sais pas trop ce que les
DBAs aiment, mais, en tout cas dans mon milieu, les features ne sont pas
l'argument-clé. Ce que je constate, c'est que ce que les DBAs que je
connais n'aiment pas dans MySQL, c'est l'absence d'un environnement de
developpement très simple reprenant une logique de prog. impérative avec
laquelle sont familiers les pros formés il y a vingt ans, laquelle n'a
guère pour but que de fournir un peu d'arithmétique et de mise en forme
sur pages de taille fixe (écran ou listings).