Bonjour,

Je fais des test de migration de base Oracle vers PostgreSQL et j'utilise l'outil Ora2Pg pour ça.
J'arrive à exporter ma base Oracle puis à l'aide de la commande psql ma_base<output.sql à importer mes tables sur ma base PostgreSQL.
Ce que je voudrais maintenant faire, c'est transférer directement de Oracle vers PostgreSQL sans passer par l'étape psql ma_base<output.sql.
Si j'ai bien compris, Ora2Pg peut le faire, il suffit pour cela de rentrer le PG_DNS, PG_USER et PG_PWD dans le fichier ora2pg.conf.

Je l'ai fait, j'ai relancé Ora2Pg et voici l'erreur qu'il m'affiche:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Can't call method "do" on an undefined value at /usr/local/share/perl/5.20.2/Ora2Pg.pm line 4527.
Issuing rollback() due to DESTROY without explicit disconnect() of DBD::Oracle::db handle INDICATEURS at /usr/local/share/perl/5.20.2/Ora2Pg.pm line 4527.
En sachant que:
- Ora2Pg est installé sur la machine possédant PostgreSQL.
- Sur cette machine j'ai installé DBI, DBD::Oracle, DBD:g via CPAN, Instant_Client_Oracle_basic, devel, sqlplus.
- INDICATEURS est le SID de la base à migrer, renseigné dans le tnsname.ora
- Oracle est installé ailleurs, mais je rappel que lorsque les données Postgres ne sont pas renseigné, la migration fonctionne...

Une idée ? =)

Voici la ligne 4527 de Ora2Pg.pm:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$self->{dbhdest}->do("BEGIN;") or $self->logit("FATAL: " . $self->{dbhdest}->errstr . "\n", 0, 1);
Merci et bonne journée.