[Perl] Probleme avec la DBI

Bonjour,

Après avoir installer la perl-DBI et la DBD::mysql j'essaye d'executer mon script tout simple qui se connecte à une base de donnée, j'obtiens alors cette erreur :

perl: relocation error: /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto/DBD/mysql/mysql.so: undefined symbol: DBIc_TRACE_LEVEL

Voici les version de mes composants

Perl : 5.008 (i386-linux-thread-multi)
OS : linux (2.4.21-25.elsmp)
DBI : 1.601
DBD::mysql : 4.005
DBD::Sponge : 12.010002
DBD::Proxy : 0.2004
DBD::Gofer : 0.010103
DBD::File : 0.35
DBD::ExampleP : 12.010007
DBD::DBM : 0.03

MySQL-server-community-5.0.45-0.rhel3
MySQL-shared-compat-5.1.22-0.rhel3
MySQL-devel-community-5.1.22-0.rhel3

Si qqun savait d'où ca peut venir :)
Merci pour votre aide :)
Configuration: Windows XP
Firefox 2.0.0.11

8 réponses

  1. Modérateur
    essai comme ça

    use DBI;
    
    # connexion à la base
    my $mysql_sock='/var/run/mysqld/mysqld.sock'; # à remplacer par le chemin de ton mysqld.sock
    
    my $db_=DBI->connect("DBI:mysql:database=db_certificats;
                            host=localhost;
                            mysql_socket=$mysql_sock",
                            "utilisateur","mot_de_passe"); # à remplacer par tes données

    1
    1. Bonjour,

      peut-être ici :
      https://perlmaven.com/

      problème de version avec les modules perl ??? peut-être installer une version plus récente de DBI !

      :-))
      0
      1. Oui j'avais deja lu ce post, a vrai dire j'ai tout fait de google c'est pour ca que je fait appelle a vous :)
        Et etant donnée que j'ai la version 1.6 de la DBI choppé sur CPAN et que c'est deja la dernière je ne sais pas trop quoi faire

        Merci pour ta réponse :)
        0
        1. c'est probablement un problème de version ...enfin j'espère ! peut-être voir version du module DBD:mysql

          as-tu installé avec perl -MCPAN -e shell

          :-))
          0
          1. Modérateur
            Salut,

            tu te connectes à quelle base?
            on peut voir ton code?
            0
            1. #!/usr/bin/perl5.8.0
              
              use DBI;
              use DBD::mysql;
              
              my $dbh = DBI->connect("DBI:mysql:database=db_certificats;host=XXX.XXX.XXX.XXX","root","");
              


              Voila c'est tout ce que j'ai comme code :O

              J'ai telecharger les modules directement sur le site CPAN je n'ai pas utiliser MCPAN, enfin ca ne change rien je pense

              Voila, en esperant que ca puisse t'aider ;)
              Merci
              0
              1. DBI : 1.601
                DBD::mysql : 4.005

                et ce sont les dernieres versions disponible ;)
                0
                1. Je n'ai pas de fichier mysqlD.sock mais mysql.sock, donc j'ai mis le chemin vers se fichier qui se trouve :
                  /var/lib/mysql/mysql.sock <= la

                  Mais tjrs la meme erreur :(

                  perl: relocation error: /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto/DBD/mysql/mysql.so: undefined symbol: DBIc_TRACE_LEVEL

                  j'ai reinstaller la DBI, la DBD mysql, le client et le serveur MySQL ainsi que le shared, rien n'y fait :(
                  0