Bonjour,
Je souhaite faire une copie de données d'une base de données Oracle vers une autre base de données Oracle.
Voici mon code :
Mais malheureusement le programme me renvoie une erreur Oracle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 use DBI; use DBD::Oracle; my $dbh = DBI->connect('dbi:Oracle:', "login@base2", "mdp",{ RaiseError => 1, AutoCommit => 0 }); my $query = "COPY FROM login/mmdp@base1 TO login/mdp@base2 INSERT MA_TABLE(id_table,nom_table) USING SELECT c.id_table,c.nom_table FROM AUTRE_TABLE"; my $selectTab = $dbh->prepare($query); $selectTab->execute; if ($@) { $selectTab->finish; system("printErreur \"$erreur => ORA-".DBI::err." ...\""); $dbh->disconnect; } else { $selectTab->finish; $dbh->disconnect; }
DBD::Oracle::st execute failed: ORA-00900: invalid SQL statement (DBD ERROR: OCIStmtExecute)
J'ai lancé le COPY directement via sqlplus et cela fonctionne très bien.
Il y a-t-il une commande particulière à faire en PERL ?
Merci d'avance pour vos réponses.
Partager