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:
_mysql_exception.InterfaceError: (0, '')
Je suis un peu perplexe..
Pour plus de détail :
J'appelle une fonction depuis la fichier builDB.py :
Code:
1 2 3 4
|
import create
create.newFormat("HD", 0,0,0) |
La fonction newFormat(..) est dans le fichier create.py (importé) :
Code:
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:
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:
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 !