OVH Cloud OVH Cloud

déménagement informix => mysql

3 réponses
Avatar
paul POULAIN
Bonjour,

Un de mes clients dispose d'un serveur (ancien) avec une base informix. Il
voudrait récupérer et travailler certaines données qu'il contient.

Comment faire un "dump" de 2 tables (dont une contient un champ binaire)
afin de les récupérer ensuite sous mySQL (le contenu binaire étant à
déménager en l'état)

Autre hypothèse/idée : attaquer la base informix directement avec un script
perl. Le seul problème, c'est que sur le serveur il y a un Perl 5.0.0.5_03,
c'est à dire un tantinet vieux (c'est un AIX 4.3.3). Donc j'ai peur que
DBI::Informix ne fonctionne pas bien. Si quelqu'un peut me dire si ca a une
chance de fonctionner...

--
Paul

3 réponses

Avatar
Paul Gaborit
À (at) Wed, 04 May 2005 17:05:22 +0200,
paul POULAIN écrivait (wrote):
Un de mes clients dispose d'un serveur (ancien) avec une base informix. Il
voudrait récupérer et travailler certaines données qu'il contient.


[...]
Autre hypothèse/idée : attaquer la base informix directement avec un script
perl. Le seul problème, c'est que sur le serveur il y a un Perl 5.0.0.5_03,
c'est à dire un tantinet vieux (c'est un AIX 4.3.3). Donc j'ai peur que
DBI::Informix ne fonctionne pas bien. Si quelqu'un peut me dire si ca a une
chance de fonctionner...



La dernière version de DBD::Informix (2005.01) nécessite une version 5.6.x de
perl donc ça ne marchera pas (sauf à mettre à jour vous-même la version de
perl ce qui est envisageable puisque dans tous les cas vous devez disposer
d'un compilateur C).

Sur CPAN, vous trouverez aussi la version 2003.04 qui devrait pouvoir
fonctionner avec la version de perl déjà installée. Voici les prérequis :

1. Perl 5.005_03 or later.
2. DBI 1.33 or later.
3. A C compiler that accepts function prototypes (such as GCC 2.95.2).
4. Informix ESQL/C 5.00 or later, or Client SDK 2.00 or later.
5. A 'stores' database to which you can connect without specifying
username or password and in which you can create tables. Ideally,
the connection should not use shared memory (neither olipcshm nor
onipcshm), and you should have DBA privileges in the database.

Il faut tout de même avoir un compilateur C décent et les SDK Informix... Il
est aussi quasi obligatoire que le compilateur C utilisé soit le même que
celui ayant servi à compiler perl (ce n'est pas absolument nécessaire mais
pour passer outre il faut très bien connaitre la manière dont perl est
compilé/installé et la manière dont fonctionnent les différents compilateurs C
sur l'OS).

Bonne migration !

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
Avatar
MB
Bonjour

J'attaquerai informix avec un odbc via access ou une petite appli pour les
champs binaires
un export en CSV
un import dans mysql
ou carrement un odbc sur MySQL et les tables liées

Cordialement

Michel BERTRAND
Avatar
Emmanuel Florac
Le Wed, 04 May 2005 17:05:22 +0200, paul POULAIN a écrit :


Autre hypothèse/idée : attaquer la base informix directement avec un
script perl. Le seul problème, c'est que sur le serveur il y a un Perl
5.0.0.5_03, c'est à dire un tantinet vieux (c'est un AIX 4.3.3). Donc
j'ai peur que DBI::Informix ne fonctionne pas bien. Si quelqu'un peut me
dire si ca a une chance de fonctionner...



5.0.0.5 n'est pas si vieux, DBI::Informix peut fonctionner. Et si tu veux
migrer les données de bases, MySQL risque quand même d'être un peu
léger pour remplacer Informix, mieux vaut envisager Postgres!

--
Sutor ne ultra Crepidam.