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

Administration MySQL Discussion :

MySQLdb exception InterfaceError


Sujet :

Administration MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Par défaut MySQLdb exception InterfaceError
    Bonjour,

    j'ai un probleme un peu bizarre avec Mysqldb (module mysql pour python)

    J'ai créé un fichier avec des fonctions qui inserent des enregistrements dans mes tables. Si j'appelle ces fonctions depuis le même fichier, tout fonctionne parfaitement. Si par contre j'appelle une des fonctions depuis un autre fichier, je recois l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     _mysql_exception.InterfaceError: (0, '')
    Je suis un peu perplexe..

    Pour plus de détail :

    J'appelle une fonction depuis la fichier builDB.py :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    import create
     
    create.newFormat("HD", 0,0,0)
    La fonction newFormat(..) est dans le fichier create.py (importé) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    from Database import Database
     
    db = Database()
     
    def newFormat(name, width=0, height=0, fps=0):
        format_query = "INSERT INTO Format (form_name, form_width, form_height, form_fps)  VALUES ('"+name+"',"+str(width)+","+str(height)+","+str(fps)+");"
        db.execute(format_query)
    Et j'ai une class Database qui gère la connexion :
    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
     
    import MySQLdb from MySQLdb.constants import FIELD_TYPE
     
    class Database():
        def __init__(self):
            server = "localhost"
            login = "seq"
            password = "seqmanager"
            database = "Sequence"
            my_conv = { FIELD_TYPE.LONG: int }
     
            self.conn = MySQLdb.connection(host=server, user=login, passwd=password, db=database, conv=my_conv)
            # self.cursor = self.conn.cursor()
     
        def close(self):
            self.conn.close()
     
        def execute(self, query):
            self.conn.query(query)
    Le traceback est le suivant :
    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
     
    Traceback :
     
    Z:\sequenceManager\mysql>python buildDB.py
    D:\ProgramFiles\Python26\lib\site-packages\MySQLdb\__init__.py:34: DeprecationWa
    rning: the sets module is deprecated
      from sets import ImmutableSet
    INSERT INTO Format (form_name, form_width, form_height, form_fps) VALUES ('HD',0
    ,0,0);
    Traceback (most recent call last):
      File "buildDB.py", line 182, in <module>
        create.newFormat("HD")
      File "Z:\sequenceManager\mysql\create.py", line 52, in newFormat
        db.execute(format_query)
      File "Z:\sequenceManager\mysql\Database.py", line 19, in execute
        self.conn.query(query)
    _mysql_exceptions.InterfaceError: (0, '')
    Pour info, le warning est là depuis le début, il ne m'avait pas géné avant.

    Toute aide serait bienvenue !

  2. #2
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    salut, je te préviens je me suis pas mis au python encore, mais bon...

    tu aurais plus de succès peut-être dans le forum dédié à python

    D'abord 2 questions liées à ta function __init__ :
    • qu'est que les fameux sets? car il semble que ce qui chagrine python c'est que tu peux pas vraiment les modifier si j'ai bien compris...
    • est-ce normal que tu cites "host=", "user=", etc... dans l'appelle à la fonction de connexion plutôt que de mettre directement les valeurs?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Par défaut
    Merci pour ta réponse.
    En, fait j'ai résolu le problème. J'initialisais deux fois la Database et il n'aimait pas trop ça.

    Pour ce qui est des sets, je n'ai pas trop compris ce que c'était, j'ai toujours ce warning, mais tout fonctionne parfaitement, donc je ne m'en soucies pas trop;

    Et si j'ai créé des variables pour host, user, etc, c'est pour que ce soit plus facile de les changer après. Je trouve que c'est plus propre comme ça.

    Merci de ton intérêt en tout cas

  4. #4
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    cool, oublies pas de passer ton post en "résolu"

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

Discussions similaires

  1. [XMLRAD] gestion des exceptions
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 28/01/2003, 17h48
  2. Exception & Try..catch
    Par PurL dans le forum C++Builder
    Réponses: 2
    Dernier message: 11/12/2002, 15h35
  3. Réponses: 3
    Dernier message: 01/11/2002, 14h30
  4. Réponses: 5
    Dernier message: 12/06/2002, 15h12
  5. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11

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