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 51 52 53 54 55 56 57 58 59 60 61 62 63
|
#!/usr/bin/perl -w
use warnings;
use strict;
use diagnostics;
use DBI; # Charger le module DBI
use vars qw/ $VERSION /; # Version du script
$VERSION = '1.0';
# Paramètres de connexion à la base de données
my $bd = 'mybd;
my $serveur = 'serv1'; # Il est possible de mettre une adresse IP
my $identifiant = 'bdd1'; # Identifiant
my $motdepasse = 'bdd1pass'; # Nous n'avons pas de mot de passe
# Connexion à la base de données MySQL
my $dbh = DBI->connect("dbi:mysql:dbname=$bd;host=$serveur;", $identifiant, $motdepasse )
or die "Connexion impossible a la base de donnees $bd !";
# Création des tables
print "Creation de la table UltraSonTHERM\n";
my $sql_creation_table_regions = <<"SQL";
CREATE TABLE UltraSonTHERM(
id_ultrason INT UNSIGNED NOT NULL AUTO_INCREMENT,
date DATETIME NOT NULL,
ultrasoundID TINYINT,
value SMALLINT UNSIGNED,
PRIMARY KEY (id_ultrason)
)COMMENT ='Capteurs ultra son pour maxity thermique';
SQL
$dbh->do('DROP TABLE IF EXISTS UltraSonTHERM;') or die "Impossible de supprimer la table UltraSonTHERM\n\n";
$dbh->do($sql_creation_table_regions) or die "Impossible de créer la table UltraSonTHERM\n\n";
# Lecture des fichiers et insertion des données
my $fichier_ultrason = 'bigfileUltrason_THERM.txt';
#print "$fichier_ultrason \n";
# Fichier UltraSonTHERM
print "Insertion des donnees dans la table UltraSonTHERM\n";
open my $fh_ultrason,'<', $fichier_ultrason or die "Impossible de lire le fichier $fichier_ultrason\n";
#open(my $fh_ultrason, "<bigfileUltrason_THERM.txt") or die "Impossible de lire le fichier $fichier_ultrason\n";
my $entete_fichier_region = <$fh_ultrason>;
# Insertion des données
my $requete_sql_region = <<"SQL";
INSERT INTO UltraSonTHERM (date,ultrasoundID,value) VALUES ( ?, ?, ?);
SQL
my $sth_regions = $dbh->prepare($requete_sql_region) or die $dbh->errstr;
while ( my $ligne = <$fh_ultrason> ) {
chomp $ligne;
my ($Date,$UltrasoundID,$Value) = split /\t/, $ligne;
$sth_regions->execute($Date,$UltrasoundID,$Value)
or die "Echec Requête $requete_sql_region : $DBI::errstr";
}
close $fh_ultrason;
# Déconnexion de la base de données
$dbh->disconnect(); |
Partager