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

Python Discussion :

intéraction mysql avec mysqldb


Sujet :

Python

  1. #1
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Points : 891
    Points
    891
    Par défaut intéraction mysql avec mysqldb
    bonjour,

    dans mon projet j'ai un serveur de traitement de message ecrit en python, qui prend en charge des fichiers plats pour intégrer les informations dans une base de données.
    Ce programme fonctionne bien, cependant j'ai eu un problème lorsque pour des besoins de production, nous avons fait un import global de données via un script SQL exécuté à l'aide de la commande shell mysql.

    En effet, le serveur Python, n'a a priori pas pu accèder a deux des cinq table qu'il impacte lors de ses traitement. Ces deux tables sont justement celle concerné par l'import.

    Je me demande s'il est possible de préciser a ma connexion mysqldb dans mon serveur python, d'attendre que les tables soient disponibles pour faire l'insert des données. A priori dans l'état actuel, le programme ne me renvoi pas d'échec d'éxécution de requête.

    Si qqu'un peut m'aider !

    merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 685
    Points : 30 974
    Points
    30 974
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par airod Voir le message
    Je me demande s'il est possible de préciser a ma connexion mysqldb dans mon serveur python, d'attendre que les tables soient disponibles pour faire l'insert des données.
    Il faudrait poser un verrou lors du remplissage (voir la doc MySQL pour ça). Ainsi, les requêtes select faites depuis python seront soit temporisées jusqu'à ce que le verrou soit levé, soit refusées avec une erreur significative qu'il suffira de catcher...

    Citation Envoyé par airod Voir le message
    A priori dans l'état actuel, le programme ne me renvoi pas d'échec d'éxécution de requête.
    Bizarre car tu dis qu'il n'a pas pu accéder à 2 tables. Comment tu le sais si tu n'as pas eu de retour ?
    Toutefois le retour ne se fait pas à la connexion mais lors de la requête elle-même...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Points : 891
    Points
    891
    Par défaut
    Bizarre car tu dis qu'il n'a pas pu accéder à 2 tables. Comment tu le sais si tu n'as pas eu de retour ?
    Ben là c'est assez simple, puisque lors du traitement par le serveur Python, seules les deux tables communes avec celles concernées par l'import via MySQL n'ont pas été rempli. (alors même que dans le traitement par le serveur ces deux tables sont en 2eme et 3eme position sur cinq.)

    Toutefois le retour ne se fait pas à la connexion mais lors de la requête elle-même...
    oui, j'entend bien, c'est normalement sur l'instruction "execute" que devrait me revenir une erreur. Seulement, c'est pas le cas actuellement.

    merci

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 685
    Points : 30 974
    Points
    30 974
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par airod Voir le message
    c'est normalement sur l'instruction "execute" que devrait me revenir une erreur. Seulement, c'est pas le cas actuellement.
    Essaye de faire un petit test
    1) tu ouvres une console mysql et tu tapes "LOCK TABLE TaTable WRITE;"
    2) tu crées un petit script Python qui se connecte sur TaTable et qui lance un insert quelconque. Et tu regardes s'il renvoie une erreur...
    3) et bien entendu pour nettoyer tu tapes "UNLOCK TABLES;"
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. [Kylix 3] Je n'arrive pas à utiliser MySQL
    Par usebob dans le forum EDI
    Réponses: 4
    Dernier message: 15/04/2005, 10h18
  2. Problème d'utilisation de Mysql avec dev-c++
    Par Watchi dans le forum Dev-C++
    Réponses: 10
    Dernier message: 06/08/2004, 14h35
  3. Api mysql avec Devc++, erreur de compilation
    Par Viiince dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 15/06/2004, 17h19
  4. [Kylix] Module DSO apache + Mysql avec Kylix3
    Par Little_Psylo dans le forum EDI
    Réponses: 1
    Dernier message: 11/02/2004, 21h00
  5. Comment attaquer Mysql avec Visual C++
    Par brisou_ dans le forum Administration
    Réponses: 4
    Dernier message: 11/03/2003, 13h12

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