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)
ReInitBase.sql : fichier servant à vider la base
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();
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







Répondre avec citation
Partager