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 DBD MySQL


Sujet :

SGBD Perl

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Points : 9
    Points
    9
    Par défaut Problème DBD MySQL
    Bonjour,

    Je dois coder un petit programme en PERL faisant appel à une base de données MySQL, tout ça sur un petit ordinateur portable, pas relié ni à un réseau, ni à Internet (ça complique bien les choses).
    Installation d'ActivePerl et de MySQL sans problème, tout marche, j'arrive à coder des scripts et à créer des tables.

    Le problème, c'est quand il faut faire le lien entre les deux.
    J'ai installé DBD::mysql comme module, mais je ne sais pas si l'installation est bien faite, car n'ayant pas de connexion internet, je ne peux pas la faire par PPM. Impossible également de faire tourner le MakeFile.PL puis faire "make" et "make install" car il n'y a pas Visual dessus donc pas de fichier "make".
    Impossible également d'installer Visual vu que le PC n'est pas connecté au Net...
    J'ai donc copié les fichiers du dossier "lib" dans le dossier lib de Perl, mais je ne sais pas si cela suffit.

    En faisant ce petit test, il m'indique bien que le module DBD::mysql est bien installé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    use strict
    use DBI;
     
    print "Modules DBD disponibles :\n";
     
    my @available_drivers = DBI->available_drivers('quiet');
    my $driver;
     
    foreach $driver (@available_drivers)
    {
         print "$driver\n";
    }
    J'obtiens donc :
    Modules DBD disponibles :
    CSV
    DBM
    ExampleP
    File
    Gofer
    ODBC
    Oracle
    Proxy
    SQLite
    Sponge
    mysql

    Quand par contre je veux tester la connexion à la base de données avec ce script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    use DBI;
     
    my $db = 'DBI:mysql:testbdd:localhost';
    my $utilisateur = 'root';
    my $motdepasse = 'root';
     
    my $dbconnect = DBI->connect($db, $utilisateur, $motdepasse);
    J'obtiens cette magnifique erreur :

    install_driver(mysql) failed: Can't locate lodable object for module DBD::mysql in @INC (@INC contains: C:/Perl/site/lib C:/Perl/lib .) at (eval 4) line 3
    Compilation failed in require at (eval 4) line 3.
    Perhaps a module that DBD::mysql requires hasn't been fully installed at test2.pl line 21
    En regardant un peu sur le net, je me suis dit qu'il devait manquer le module DBD:river, mais impossible de le trouver quelque part...

    Je commence à désespérer, si quelqu'un a une solution ou une piste, je suis preneur !

    Merci d'avance à vous

    Thomas

  2. #2
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Perhaps a module that DBD::mysql requires hasn't been fully installed at test2.pl line 21
    Le problème vient du fait que tu n'as pas installé les modules dont DBD::mysql a besoin pour fonctionné. C'est pour cela que l'on déconseille toujours d'installer manuellement un module. Je ne sais pas comment trouver la liste des modules nécessaires, de plus cela pourrait rapidement devenir compliqué si les autres modules dépendent eux-mêmes d'autres modules. Attends qu'un administrateur passe.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    C'est ce que je me dis par exemple avec le module DBD::Driver qui permet d'avoir le install_driver mentionné dans l'erreur, mais je ne le trouve pas sur le net ni dans le CPAN.

    Merci pour la réponse rapide, je vais effectivement attendre un administrateur... ou quelqu'un d'autre qui aurait une réponse ! ;-)

  4. #4
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Ce n'est pas le seul problème... DBD::mysql a besoin de faire un peu de linking je crois pour être bien installé, simplement faire du copier-coller ne suffira probablement pas.

    car n'ayant pas de connexion internet, je ne peux pas la faire par PPM.
    Ce n'est pas lié, tu peux tout à fait installer des ppm en local que tu as téléchargé sur une autre machine (comme tu l'as fait pour MySQL et ActivePerl je suppose), consulte la documentation d'ActivePerl, elle contient un manuel pour PPM.

    --
    Jedaï

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    Ca y'est ça marche, effectivement j'ai trouvé un poste ou ActivePerl était installé (pas facile dans une boite où on peut pas installer ce qu'on veut dans les postes), j'ai téléchargé le module DBD::mysql avec PPM.

    Puis dans la ligne de commande, j'ai entré "ppm files DBD-mysql" pour avoir les fichiers qu'il m'a installé, un copier-coller de ces fichiers sur le pc portable et le tour est joué !

    Merci beaucoup pour votre aide!

    A bientot,

    Thomas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème Module DBI DBD::mysql
    Par Sethenssen dans le forum SGBD
    Réponses: 13
    Dernier message: 07/10/2011, 09h22
  2. Probléme d'installation DBD:mysql
    Par saharbrioi dans le forum Modules
    Réponses: 6
    Dernier message: 24/04/2009, 13h53
  3. [JDBC]Problème Accent MySQL depuis DB browser dans eclipse
    Par chpruvos dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 26/08/2005, 14h14
  4. 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