Bonjour
J'essaie d'importer une base dans MySQL via Perl et DBI. Je veux utiliser la commande SQL load data infile pour remplir mes tables. Voici mon code :
Donc, pour tout fichier de données présents, je veux les charger.
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 my $database = "Ensembl_Homo_sapiens"; my $dbh = DBI->connect("DBI:mysql:database=".$database.";host=localhost", "gldavid", "passpass", {'RaiseError' => 1}) or die "$!\n"; foreach my $table (@tables){ my $file = $table; $table =~ s/^\/home\/gldavid\/Snippets\/Perl\/getEnsemblHuman\/files\///; $table =~ s/\.txt\.table$//; my $reket = "load data infile '".$file."' into table Ensembl_Homo_sapiens.".$table; if(-e $file){ print "Loading data into ".$table."\n"; $dbh->do($reket); } } $dbh->disconnect();
Or, bien que les noms de fichiers et de tables soient corrects, j'ai cette erreur :
Bizarre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 DBD::mysql::db do failed: Can't get stat of '/home/gldavid/Snippets/Perl/getEnsemblHuman/files/regulatory_feature_object.txt.table' (Errcode: 13) at getEnsemblHuman.pl line 68., ma localisation est bonne pourtant.
Quelqu'un peut-il m'aiguiller ?
@++
Partager