MYSQL et Perl

Fermé
flongo Messages postés 53 Date d'inscription jeudi 2 avril 2009 Statut Membre Dernière intervention 9 décembre 2009 - 14 avril 2009 à 16:14
Bonjour,

Voici le programme que j'ai fait pour mettre un fichier txt en BDD:

#!/usr/bin/perl

# Fichier Reception: Je commence par ouvrir mon fichier reception.txtqui est le
#fichier que je veux mettre en base de données
#Voir reception.txt en PJ

open (FICHIER, "<P:\\Resul\\reception.txt") or die("Impossible de lire le fichier! \n");
my $ligne=<FICHIER>;
print $ligne;
chomp $ligne;
#Connexion à la base de données transfusion.

use warnings;
use strict;

use DBI; # Charger le module DBI

# Parametres de connexion à la base de données
my $BaseDeDonnees = "transfusion";
my $NomHote = "localhost"; # Il est possible de mettre une adresse IP
my $login = "fngoala"; # login
my $MotDePass = ""; # Nous n'avons pas de mot de pass

# Connection à la base de données mysql
my $dbh = DBI->connect( "dbi:mysql:dbname=$BaseDeDonnees;host=$NomHote;",
$login, $MotDePass )
or die "Connection impossible à la base de donnees $BaseDeDonnees !";


# Création de l'une des tables de ma BDD.
#Ici c'est la table reception

print "Creation de la table Reception\n";
my $SQLCreationTablesReception = <<"SQL";
CREATE TABLE Reception (
num_mess INT NOT NULL ,
num_recep INT NOT NULL ,
date_livr VARCHAR( 20 ) NOT NULL ,
civ VARCHAR( 5 ) NOT NULL ,
nom VARCHAR( 250 ) NOT NULL ,
nom_mari VARCHAR( 250 ) NOT NULL ,
prenom VARCHAR( 250 ) NOT NULL ,
date_nais VARCHAR( 20 ) NOT NULL ,
type_pro INT NOT NULL ,
ref_pro INT NOT NULL ,
num_edital INT NOT NULL ,
sexe VARCHAR( 1 ) NOT NULL ,
nom_edit VARCHAR( 250 ) NOT NULL ,
nom_mari_edit VARCHAR( 250 ) NOT NULL ,
prenom_edit VARCHAR( 250 ) NOT NULL ,
date_nais_edit VARCHAR( 20 ) NOT NULL ,
num_comm INT NOT NULL ,
num_livrai INT NOT NULL ,
PRIMARY KEY ( num_mess )
) COMMENT = 'Les réceptions';
SQL


$dbh->do($SQLCreationTablesReception)
or die "Impossible de creer la table Reception\n\n";

# Lecture des fichiers
# Ici je lui dit que tant que tu as des lignes à lire tu me crée une variable
# Sachant que chaque information est séparé comme suit : - (espace tiret espace)

while (my $ligne){

my ( @NUMMESS, @MESS, @RECEP, @DTLIVR, @CIVI, @NOM_NAISS, @NOM_US,
@PRENOM, @DTNAIS, @TYPPRO, @REFEPRO, @NUMEDIT, @SEXE,
@NOMEDIT, @NOMUSUELDIT, @PRENOMEDIT, @DTNAISEDIT,
@NUMCOM, @NUMLIV
) =split( /\s-\s/, $ligne );

# Insertion des données
# Je lui insere les données en faisant une requete SQL

my $RequeteSQL = <<"SQL";
INSERT INTO reception ( num_mess, num_recep, date_livr, civ, nom,
nom_mari, prenom, date_nais, type_pro,
ref_pro, num_edit, sexe, nom_edit,
nom_mari_edit, prenom_edit, date_nais_edit,
num_comm, num_livrai )
VALUES ( "@ NUMMESS", "@MESS", "@RECEP",
"@DTLIVR", "@CIVI", "@NOM_NAISS",
"@NOM_US", "@PRENOM", "@DTNAIS", "@TYPPRO", "@REFEPRO", "@NUMEDIT", "@SEXE",
"@NOMEDIT", "@NOMUSUELDIT", "@PRENOMEDIT", "@DTNAISEDIT",
"@NUMCOM", "@NUMLIV" );
SQL

$dbh->do($RequeteSQL) or die "LA REQUETE A ECHOUEE!";
}
close (FICHIER);

Lorsque je l'execute, il n'y a aucune erreur. Mais dans ma BDD je n'ai aucune valeur!!!!!!!!!!!

Quelqu'un pourrait il m'aider à savoir pourquoi?

Merci

Cdlt