在Django中运行时出现mySQL接口错误

0 投票
2 回答
1970 浏览
提问于 2025-04-16 04:12

我正在运行一个网络爬虫,它通过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打开,然后重启服务器,再试一次。特别要注意显示的路径列表。如果这些路径和你预期的完全不一样,那就要引起注意了。

撰写回答