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

Modules Perl Discussion :

Problème avec DBI


Sujet :

Modules Perl

  1. #1
    Membre actif Avatar de scaleo
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 327
    Points : 219
    Points
    219
    Par défaut Problème avec DBI
    J'utilise DBI dans un de mes scripts, celui-ci plante de temps a autre car DBI produit une erreur
    Can't rebind placeholder
    , j'ai beau m'éclater les yeux sur le code je ne trouve pas le problème , voici le bout de code recalcitrant !!


    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
       {
         # Compteurs
         my $max   = 40;
         my $state = -1;
     
         print "\t>> Ajout de données dans la table référence\n";
         while ( $state == -1 and $max > 0 )
         {
            $this = $self->{'Sql'}[0]{'main_db'}->prepare("insert into web(web_link,web_country,web_language,web_title) values(?,?,?,?)");
            $this->execute(
                 $url,
                 $country,
                 $lang,
                 $title,
            );
     
            $state = $this->err();
            $max--;
         }
     
         return if $state == -1;
       }
    merci d'éclairer ma lanterne
    Vista powaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ::

  2. #2
    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
    Tu as déjà essayé de sortir la préparation de la requête de ta boucle ? En dehors de ton erreur ça serait déjà une optimisation bienvenue.

    --
    Jedaï

  3. #3
    Membre actif Avatar de scaleo
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 327
    Points : 219
    Points
    219
    Par défaut
    Citation Envoyé par Jedai
    Tu as déjà essayé de sortir la préparation de la requête de ta boucle ? En dehors de ton erreur ça serait déjà une optimisation bienvenue.

    --
    Jedaï
    J'ai fait cela pour corriger un "bug" mais c'est pas vraiment top comme solution .

    C ok j'ai corrigé cette abération
    Vista powaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ::

  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
    Citation Envoyé par scaleo
    J'ai fait cela pour corriger un "bug" mais c'est pas vraiment top comme solution .
    Je ne comprend pas ? Au contraire, il est logique de sortir ta préparation de requête de la boucle puisqu'elle ne change pas selon les itérations !! De plus certains moteurs de base de données sont capable de mettre en cache une telle requête "préparée", et ainsi d'améliorer de façon conséquente la vitesse des requêtes suivantes, sortir la préparation de la boucle te permet de profiter de cette optimisation, c'est donc un meilleur design que de la mettre dans la boucle.

    --
    Jedaï

  5. #5
    Membre actif Avatar de scaleo
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 327
    Points : 219
    Points
    219
    Par défaut
    J'ai sortie la préparation de la requête de la boucle mais j'ai toujours ce fichu problème .

    voila le message renvoyé par perl

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Uncaught exception from user code:
    	Can't rebind placeholder 4 at M:/Perl/site/lib/Search/Indexer/Web.pm line 289.
     at M:/Perl/site/lib/Search/Indexer/Web.pm line 289
    	Search::Indexer::Web::_run_processing('Search::Indexer::Web=HASH(0x3251f3c)', 'HASH(0x34c3bbc)') called at M:/Perl/site/lib/Search/Indexer/Index.pm line 123
    	Search::Indexer::Index::_run_processing('Search::Indexer::Index=HASH(0x3255140)') called at M:/Perl/site/lib/Search/Indexer/Index.pm line 156
    	Search::Indexer::Index::_run_processing('Search::Indexer::Index=HASH(0x3255140)') called at index.pl line 17
    Vista powaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ::

Discussions similaires

  1. Problème avec DBI sur une bd access
    Par tfdarklink dans le forum SGBD
    Réponses: 2
    Dernier message: 01/08/2006, 19h08
  2. Problème avec DBI
    Par vodevil dans le forum SGBD
    Réponses: 4
    Dernier message: 29/11/2005, 19h27
  3. problème avec le module DBI
    Par vbcasimir dans le forum SGBD
    Réponses: 6
    Dernier message: 08/10/2005, 12h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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