[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. 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. 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. 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