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:
En sachant que:
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.
- 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:
Merci et bonne journée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $self->{dbhdest}->do("BEGIN;") or $self->logit("FATAL: " . $self->{dbhdest}->errstr . "\n", 0, 1);
Partager