Bonjour à tous

Je souhaiterais exécuter directement plusieurs fichiers .sql dans un script perl

Voici un extrait de code : (je sais que de nombreuses optimisations peuvent etre faite mais j'aimerais que cela fonctionne avant d'optimiser)

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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
 
use warnings;
use strict;
use Time::Piece;
use Spreadsheet::ParseExcel;
use DBI;
use DBD::mysql;
 
print "(o)RP(o)\n\n";
 
my $dbh = DBI->connect('DBI:mysql:eBase4', 'root', 'root'
	           ) || die "Could not connect to database: $DBI::errstr";	           
my $sth;
my $MySqlQuery;
 
 
# -----------------------------------
# Drop database and create an other one 
# -----------------------------------
my $File = "ReInitBase.sql";
my $FilePath = "../Sql/Base/${File}";
$MySqlQuery = $FilePath; 
print $MySqlQuery, "\n";
$sth = $dbh->prepare($MySqlQuery);
$sth->execute();
 
 
# -----------------------------------
# File Info Insertion 
# -----------------------------------
$File = "InsertFileInfo.sql";
$FilePath = "../Sql/Data/${File}";
$MySqlQuery = $FilePath; 
print $MySqlQuery, "\n";
$sth = $dbh->prepare($MySqlQuery);
$sth->execute();
 
# -----------------------------------
# Network Insertion 
# -----------------------------------
$File = "NetworkInsertions.sql";
$FilePath = "../Sql/Data/${File}";
$MySqlQuery = $FilePath; 
print $MySqlQuery, "\n";
$sth = $dbh->prepare($MySqlQuery);
$sth->execute();
 
$sth->finish();
$dbh->disconnect();
ReInitBase.sql : fichier servant à vider la base
InsertFileInfo.sql & AfdxNetworkInsertions.sql : insertions dans la base

Le problème est le suivant : les fichiers .sql ne sont pas exécutés (aucune insertions dans la base et la base n'est pas vidée)

Je cherche à exécuter directement le .sql comme ça je peux jongler entre mon script perl et MYSQL workbench au niveau de me requête.

Merci de votre aide par avance