Estou com um problema. Em meu codigo em determinadado momento gera um erro chamado InterfaceError ao executar uma query.
Procurando no google, achei pouca coisa, pois o erro é mau documentado.
Diz que é referente ao módulo, no caso MySQLdb(acho), mas já executei a query no interpretador dinâmico do python e tenho um outro código similar está funcionando normalmente. O problema é apenas nesse trecho específico.
Segue o traceback:
Traceback (most recent call last):
File "/home/artur/workspacePython/INSERTS/Main.py", line 12, in <module>
InsertEmTodoBanco.InsertEmTodoBanco(host='localhost',user='root',passwd='1n5p1r0n123',db='empresa_taxi')
File "/home/artur/workspacePython/INSERTS/InsertEmTodoBanco.py", line 20, in __init__
self.criarInsert()
File "/home/artur/workspacePython/INSERTS/InsertEmTodoBanco.py", line 61, in criarInsert
tabelas = self.todosRelacionamentos()
File "/home/artur/workspacePython/INSERTS/InsertEmTodoBanco.py", line 53, in todosRelacionamentos
for relacionamento in self.relacionamentosDe(tabela[0]):
File "/home/artur/workspacePython/INSERTS/InsertEmTodoBanco.py", line 24, in relacionamentosDe
cursor.execute("SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = '"+self.db+"' AND TABLE_NAME = '"+tabela+"' AND REFERENCED_TABLE_NAME IS NOT NULL")
File "/usr/lib64/python2.7/site-packages/MySQLdb/cursors.py", line 155, in execute
charset = db.character_set_name()
_mysql_exceptions.InterfaceError: (0, '')
E a função que dá erro:
def relacionamentosDe(self,tabela):
cursor = self.con2.cursor()
cursor.execute("SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = '"+self.db+"' AND TABLE_NAME = '"+tabela+"' AND REFERENCED_TABLE_NAME IS NOT NULL")
rows = cursor.fetchall()
cursor.close()
del(cursor)
self.con2.close()
listaDeRelacionamentos = []
for row in rows:
aux = (row[4],row[5],row[6],row[9],row[10],row[11])
listaDeRelacionamentos.append(aux)
return listaDeRelacionamentos
O init da classe:
class InsertEmTodoBanco(object):
con = None
con2 = None
chartam = 1
db = ''
def __init__(self,host,user,passwd,db,chartam=1):
self.con = MySQLdb.connect(host, user, passwd, db)
self.con2 = MySQLdb.connect(host, user, passwd, 'information_schema')
self.db = db
self.chartam = chartam
self.criarInsert()
Alguém sabe pelo menos o que realmente é esse erro? Ou uma solução para ele?
Pergunta
Artur Galeno
Pessoal,
Estou com um problema. Em meu codigo em determinadado momento gera um erro chamado InterfaceError ao executar uma query.
Procurando no google, achei pouca coisa, pois o erro é mau documentado.
Diz que é referente ao módulo, no caso MySQLdb(acho), mas já executei a query no interpretador dinâmico do python e tenho um outro código similar está funcionando normalmente. O problema é apenas nesse trecho específico.
Segue o traceback:
E a função que dá erro: O init da classe:Alguém sabe pelo menos o que realmente é esse erro? Ou uma solução para ele?
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.