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