在Django中运行时出现mySQL接口错误
我正在运行一个网络爬虫,它通过Django作为一个单独的线程被调用。当它尝试存储抓取到的信息时,我遇到了这个错误:
文件 "/usr/lib/pymodules/python2.6/MySQLdb/cursors.py",第147行,在执行时 charset = db.character_set_name() 接口错误: (0, '')
如果我从命令行手动运行这个脚本,就不会出现这个错误。你有什么想法吗?
我猜想在一个循环的迭代中,我大约调用了4次cursor.execute()。这会不会导致什么问题?
谢谢!
2 个回答
0
我也遇到过同样的问题。对我来说,问题出在
from django.db import connections
cursor=connections["default"].cursor()
这个代码在其他脚本文件里。
当我把这一行代码放到我执行查询的方法里面时,问题就解决了。
cursor=connections["default"].cursor()
我学到的经验是,之前的做法没有保持连接。
0
因为提到了字符集,我觉得你可能是在命令行中运行的Django/Python或者其他东西和在网页服务器上运行的不一样。在你的设置文件里,把DEBUG=True
打开,然后重启服务器,再试一次。特别要注意显示的路径列表。如果这些路径和你预期的完全不一样,那就要引起注意了。