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 d'insertion de données Perl-dbi


Sujet :

SGBD Perl

  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Par défaut Problème d'insertion de données Perl-dbi
    Bonjour,
    voila j'ai un problème de Perl. Je developpe une base de données avec son interface associées en Perl-cgi (classique).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #!/usr/bin/perl -w
    use strict;
    use Carp;
    use SQLTILL; --> Librairie perso qui utilise le dbi
    use CGI qw/:standard/;
    use File::Basename;
    use File::Copy;
    use CGI::Session;
    use Tie::IxHash;
    J'utilise ces librairies.
    Puis je lis un fichier passé en paramètre par l'utilisateur et qui contient les données à integrer
    mon algo se presente à peu pret de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Lecture du fichier
    Pour chaque ligne du fichier {
           preparation de la requete
           integration des données
           si erreur dans la requete alors rollback
           sinon commit
    }
    Lorsque je fais tourner cette algo en perl ma page plante. En gros elle reste figée sur la page de saisie du fichier de données puis après avoir mouliner pendant quelques minutes j'ai une page blanche d'erreur de server.
    A noter que si je me contente d'afficher les requètes que je veut faire et que je les copie/colle dans sqlplus ça fonctionne très bien.
    A noter aussi que si je rajoute un compteur de manière à ne faire que 10 ou 15 requetes ça ne plante pas (Dans mon fichier il y a 4500 données (et donc 4500 requètes a faire)).

  2. #2
    Expert confirmé
    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
    Par défaut Re: Problème d'insertion de données Perl-dbi
    Citation Envoyé par Tygrou
    Lorsque je fais tourner cette algo en perl ma page plante. En gros elle reste figée sur la page de saisie du fichier de données puis après avoir mouliner pendant quelques minutes j'ai une page blanche d'erreur de server.
    A noter que si je me contente d'afficher les requètes que je veut faire et que je les copie/colle dans sqlplus ça fonctionne très bien.
    A noter aussi que si je rajoute un compteur de manière à ne faire que 10 ou 15 requetes ça ne plante pas (Dans mon fichier il y a 4500 données (et donc 4500 requètes a faire)).
    Je ne pense pas que ton script Perl plante (encore qu'il pourrait y avoir un problème de mémoire si tu stockes tout tes résultats en mémoire par exemple), mais bien sûr il y a toujours un timeout pour les requêtes faites par un browser... Donc si tu n'envoies des données qu'après avoir effectué les 4500 (!) requêtes, il y a un fort risque pour que ton browser n'attende pas. Tu devrais peut-être essayer d'envoyer un peu d'info, au moins le header et puis une ligne d'information toutes les 40 requêtes par exemple.

    --
    Jedaï

  3. #3
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Par défaut
    Oui en fait avant de commencer a faire les requetes j'imprime le header et j'imprime egalement un message de confirmation si la requete a été effectuée correctement
    mais il ne m'affiche rien du tout (même pas le header ou les première lignes de la page avant même de commencer les requêtes )

  4. #4
    Expert confirmé
    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
    Par défaut
    Et bien sûr tu flush() STDOUT après chaque écriture ? (ou alors tu as positionné $| à 1 pour que ce soit fait automatiquement ?)

    --
    Jedaï

  5. #5
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Par défaut
    non j'ai pas mis $| = 1; mais je pense pas qu'il s'agisse d'un problème de buffer vu que si je supprime la partie perl dbi pour afficher la requète dans ma page, tout se passe bien (il m'affiche mes 4500 requetes sans problème de buffer....

    Mais je vais quand meme essayer $| = 1

  6. #6
    Expert confirmé
    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
    Par défaut
    Citation Envoyé par Tygrou
    non j'ai pas mis $| = 1; mais je pense pas qu'il s'agisse d'un problème de buffer vu que si je supprime la partie perl dbi pour afficher la requète dans ma page, tout se passe bien (il m'affiche mes 4500 requetes sans problème de buffer....
    Ben forcément là y a pas de problème de buffer vu que ton script finit... Donc tout est flushé évidemment. Donc ça ne révèle rien. Essaie $| = 1, si ça ne marche pas, on avisera.

    --
    Jedaï

Discussions similaires

  1. [MySQL] Problème d'insertion de données dans table d'associations
    Par Yukhaa dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 07/02/2006, 17h10
  2. problème d'insertion de données
    Par devalender dans le forum Débuter
    Réponses: 11
    Dernier message: 05/07/2004, 16h45
  3. Réponses: 2
    Dernier message: 14/05/2004, 14h32
  4. problème d'insertion de données
    Par Falgan dans le forum ASP
    Réponses: 2
    Dernier message: 06/04/2004, 09h29
  5. [Interbase 7] Problème d'insertion de données
    Par Tuscelan dans le forum InterBase
    Réponses: 12
    Dernier message: 19/11/2003, 22h58

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