接口错误(0,“”)

2024-04-20 15:12:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我用Django构建了一个站点,当我试图执行查询时,我收到了这个恼人的错误。

如果我重新启动Apache服务器,错误将在短时间内消失。

Traceback:
File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
100.                     response = callback(request, *callback_args, **callback_kwargs)
File "/home/fran/cron/views/set_caches.py" in set_caches
24.         cursor.execute(query, [category['id']])
File "/usr/local/lib/python2.7/site-packages/django/db/backends/util.py" in execute
15.             return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py" in execute
86.             return self.cursor.execute(query, args)
File "build/bdist.linux-i686/egg/MySQLdb/cursors.py" in execute
155.         charset = db.character_set_name()

Exception Type: InterfaceError at /blablabla/
Exception Value: (0, '')

Tags: djangoinpyexecutedblibpackagesusr
3条回答

当您有一个db.close()调用,然后在不创建新连接的情况下尝试访问数据库时,会出现此错误。如果不想关闭与数据库的连接,请尝试查找。

我同意莫伯格的观点。此错误是在关闭连接后尝试访问数据库时导致的。这可能是由于代码缩进错误造成的。下面是我的代码。

conn = connect()
cur = conn.cursor()
tk = get_tickers(cur)
for t in tk:
    prices = read_price(t, cur)
    if prices != None:
        update_price(t, cur)
        print 'Price after update of ticker ', t, ':'
        p_open, p_high, p_low, p_close = read_price(t, cur)
        print p_open, p_high, p_low, p_close
    else:
        print 'Price for ', t, ' is not available'
    conn.close()

我得到的错误和玛丽安报告的一样。在dedenting conn.close()之后,一切正常。确认全球控制网不是问题。

这是由全局光标引起的。尝试在每个方法中创建和关闭游标,需要原始查询。

cursor = connection.cursor()
cursor.execute(query)
cursor.close()

相关问题 更多 >