IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SGBD Perl Discussion :

Problème Module DBI DBD::mysql


Sujet :

SGBD Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 70
    Par défaut Problème Module DBI DBD::mysql
    Bonjour,

    Je n'ai pas trouvé de post proposant une solution à mon problème, je vais donc essayer d'être précis afin de demander votre aide.

    J'utilise:
    Windows XP & Cygwin
    perl, v5.10.0
    MySQL 5.1.44
    Toad for MySQL Beta 4.6.0.522

    Sujet:
    Se connecter à ma base MySQL au travers d'un script en Perl afin d'afficher/intégrer des données.

    Ci-dessous le script de test que j'utilise de ce tutorial
    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
    #! /usr/bin/perl -w
     
            use DBI;
            use strict;
            # infos connexion
            my $user= "root";
    	# passe de compte
            my $password= "dbb";
    	# ip du serveur Mysql cible
            my $host= "127.0.0.1";
    	# database est la table mysql visée
            my $dbh= DBI->connect("dbi:mysql:database=dbb_report;host=$host",$user,$password)
            or die $DBI::errstr;
    	# requete SQL
            my $sth= $dbh->prepare("SELECT * FROM zz_operator")
            or die $DBI::errstr;
            $sth->execute();
    	# Intégration des données dans des colonnes
            my $numRows = $sth->rows;
            my @row;
    	# boucle pour affichage de tout les résulats
            while ( @row = $sth->fetchrow_array )
    {
            print $row[1];
    }
            $dbh->disconnect or die $DBI::errstr;
    Au lieu de m'afficher les données j'obtiens ce message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $ perl test.pl
    install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (@INC contains: /usr/lib/perl5/5.10/i686-cygwin /usr/lib/perl5/5.10 /usr/lib/perl5/site_perl/5.10/i686-cygwin /usr/lib/perl5/site_perl/5.10 /usr/lib/perl5/vendor_perl/5.10/i686-cygwin /usr/lib/perl5/vendor_perl/5.10 /usr/lib/perl5/vendor_perl/5.10 /usr/lib/perl5/site_perl/5.8 /usr/lib/perl5/vendor_perl/5.8 .) at (eval 3) line 3.
    Perhaps the DBD::mysql perl module hasn't been fully installed,
    or perhaps the capitalisation of 'mysql' isn't right.
    Available drivers: DBM, ExampleP, File, Gofer, Proxy, Sponge.
     at test.pl line 12
    C'est un message décrit par le tutorial pouvant arriver et préconise de réinstaller les 3 modules ce dont j'ai fais.
    J'ai effectivement un problème sur l'un des 3 modules.

    J'utilise Windows, donc via Cygwin je fais:
    >cpan
    >install Bundle::DBD::mysql
    J'obtiens en message
    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
    cpan[1]> install Bundle::DBD::mysql
    CPAN: Storable loaded ok (v2.18)
    Going to read /home/ngarnero/.cpan/Metadata
      Database was generated on Sun, 28 Feb 2010 12:43:35 GMT
    CPAN: YAML loaded ok (v0.66)
    Going to read /home/ngarnero/.cpan/build/
    ............................................................................DONE
    Found 20 old builds, restored the state of 18
    DBI is up to date (1.609).
    Running install for module 'DBD::mysql'
    Running make for C/CA/CAPTTOFU/DBD-mysql-4.013.tar.gz
      Has already been unwrapped into directory /home/ngarnero/.cpan/build/DBD-mysql-4.013-lfzUh9
      '/usr/bin/perl5.10.0.exe Makefile.PL' returned status 512, won't make
    Running make test
      Make had some problems, won't test
    Running make install
      Make had some problems, won't install
    Je suis allé sur le site de cpan et j'ai téléchargé DBD-mysql-4.011.tar.gz

    Via Cygwin je fais donc:
    perl Makefile.PL
    J'obtiens:
    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
    Can't exec "mysql_config": No such file or directory at Makefile.PL line 76.
     
    Cannot find the file 'mysql_config'! Your execution PATH doesn't seem
    not contain the path to mysql_config. Resorting to guessed values!
    Can't exec "mysql_config": No such file or directory at Makefile.PL line 454.
    Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
    Can't exec "mysql_config": No such file or directory at Makefile.PL line 454.
    Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
    Can't exec "mysql_config": No such file or directory at Makefile.PL line 454.
    Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
     
     
    PLEASE NOTE:
     
    For 'make test' to run properly, you must ensure that the
    database user 'ngarnero' can connect to your MySQL server
    and has the proper privileges that these tests require such
    as 'drop table', 'create table', 'drop procedure', 'create procedure'
    as well as others.
     
    mysql> grant all privileges on test.* to 'ngarnero'@'localhost' identified by 's3kr1t';
     
    You can also optionally set the user to run 'make test' with:
     
    perl Makefile.pl --testuser=username
     
    Can't exec "mysql_config": No such file or directory at Makefile.PL line 454.
    Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
    Can't exec "mysql_config": No such file or directory at Makefile.PL line 454.
    Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
    Can't exec "mysql_config": No such file or directory at Makefile.PL line 454.
    Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
    Failed to determine directory of mysql.h. Use
     
      perl Makefile.PL --cflags=-I<dir>
     
    to set this directory. For details see the INSTALL.html file,
    section "C Compiler flags" or type
     
      perl Makefile.PL --help
    Je suis donc bloqué, je n'arrive pas à trouver de solution à mon problème et ce "Can't find mysql_config".

    Merci d'avance pour votre aide.

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Lis notre FAQ perl, la section installation de modules Perl t'aidera. Il fait également référence à un tutoriel que tu peux lire.

    Il te faudra installer le module DBI, DBD::Mysql et normalement, ce sera OK.
    Il faut aussi utilise les pragmas strict dans tes scripts.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    use warnings; 
    use strict;

    Voilà

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Par défaut
    Can't exec "mysql_config": No such file or directory at Makefile.PL line 76.

    Cannot find the file 'mysql_config'! Your execution PATH doesn't seem
    not contain the path to mysql_config. Resorting to guessed values!
    Le programme mysql_config a dû être installé avec mysql. Il faut trouver dans quel répertoire il se trouve, et ajouter ce répertoire à la variable $PATH avant d'exécuter le perl Makefile.PL

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 70
    Par défaut
    Bonjour,

    J'ai trouvé le mysql_config.pl, je l'ai ajouté au $PATH windows ainsi qu'un autre dossier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Program Files\MySQL\MySQL Server 5.5\bin;C:\Program Files\MySQL\MySQL Server 5.5\include\mysql
    Je suis même allé avec cygwin dans le dossier ou se trouve mysql_config.pl pour l’exécuter.
    J'ai ré exécuté le fichier perl Makefile.PL
    J'ai refais un cpan install DBD::mysql

    Tout ceci n'a pas fonctionné
    Je suis désespéré

    J'ai toujours le message
    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
    51
    52
    53
    54
    CPAN: Module::CoreList loaded ok (v2.18)
     
      CPAN.pm: Building C/CA/CAPTTOFU/DBD-mysql-4.020.tar.gz
     
    Can't exec "mysql_config": No such file or directory at Makefile.PL line 83.
     
    Cannot find the file 'mysql_config'! Your execution PATH doesn't seem
    not contain the path to mysql_config. Resorting to guessed values!
    Can't exec "mysql_config": No such file or directory at Makefile.PL line 478.
    Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
    Can't exec "mysql_config": No such file or directory at Makefile.PL line 478.
    Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
    Can't exec "mysql_config": No such file or directory at Makefile.PL line 478.
    Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
     
     
    PLEASE NOTE:
     
    For 'make test' to run properly, you must ensure that the
    database user 'Nicolas' can connect to your MySQL server
    and has the proper privileges that these tests require such
    as 'drop table', 'create table', 'drop procedure', 'create procedure'
    as well as others.
     
    mysql> grant all privileges on test.* to 'Nicolas'@'localhost' identified by 's3kr1t';
     
    You can also optionally set the user to run 'make test' with:
     
    perl Makefile.PL --testuser=username
     
    Can't exec "mysql_config": No such file or directory at Makefile.PL line 478.
    Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
    Can't exec "mysql_config": No such file or directory at Makefile.PL line 478.
    Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
    Can't exec "mysql_config": No such file or directory at Makefile.PL line 478.
    Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
    Failed to determine directory of mysql.h. Use
     
      perl Makefile.PL --cflags=-I<dir>
     
    to set this directory. For details see the INSTALL.html file,
    section "C Compiler flags" or type
     
      perl Makefile.PL --help
    Warning: No success on command[/usr/bin/perl Makefile.PL]
      CAPTTOFU/DBD-mysql-4.020.tar.gz
      /usr/bin/perl Makefile.PL -- NOT OK
    Running make test
      Make had some problems, won't test
    Running make install
      Make had some problems, won't install
    Could not read metadata file. Falling back to other methods to determine prerequisites
    Failed during this command:
     CAPTTOFU/DBD-mysql-4.020.tar.gz              : writemakefile NO '/usr/bin/perl Makefile.PL' returned status 512

  5. #5
    Membre émérite Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Par défaut
    Bonjour

    est-ce que tu as réussi à résoudre ton problème car j'ai exactement le même problème ?

    merci

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Par défaut
    le perl Makefile.PL cherche mysql_config, et non mysql_config.pl
    Ce n'est pas le même fichier donc c'est une raison suffisante pour que ça ne marche pas.
    Mais visiblement il y a des options ou une variable d'environnement pour spécifier le nom de ce fichier, c'est qu'il faudrait tenter.

Discussions similaires

  1. Probléme d'installation DBD:mysql
    Par saharbrioi dans le forum Modules
    Réponses: 6
    Dernier message: 24/04/2009, 13h53
  2. Problème DBD MySQL
    Par Toomaaaaa dans le forum SGBD
    Réponses: 4
    Dernier message: 15/10/2008, 10h12
  3. Installation du module DBD::mysql
    Par Bahan_auboulot dans le forum Modules
    Réponses: 3
    Dernier message: 30/07/2008, 17h20
  4. problème avec le module DBI
    Par vbcasimir dans le forum SGBD
    Réponses: 6
    Dernier message: 08/10/2005, 12h48
  5. Installer le module DBI et DBD::MySQL
    Par piloupy dans le forum SGBD
    Réponses: 3
    Dernier message: 26/07/2005, 09h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo