2010-09-15 58 views
0

我正在運行一個通過Django作爲單獨線程調用的Web爬蟲。當它嘗試存儲刮取的信息時,出現此錯誤:只有在Django中運行纔會出現mySQL接口錯誤

文件「/usr/lib/pymodules/python2.6/MySQLdb/cursors.py」,第147行,執行 charset = db.character_set_name() InterfaceError:(0,'')

如果我從命令行手動運行腳本,我不會收到此錯誤。有任何想法嗎?

我的猜測是我在循環的一次迭代中做了大約4次cursor.execute()。這可能會拋出一些東西嗎?

謝謝!

回答

0

既然它提到了字符集,我的直覺說你從命令行運行的是不同於Django/Python /的東西。在您的設置文件中,打開DEBUG=True,重新啓動服務器,然後再次運行。特別是,看看所顯示的路徑列表。如果他們不是剛好你期望他們是什麼,那麼這是一個紅旗。

+0

這怎麼可能是正確答案? – markuz 2012-02-29 07:09:20

+0

@markuz:真的嗎? 1。5年後,你突然想到這個答案,OP確定的答案是*正確*答案,有點不對?您與生產Django網站合作多久了?你有多少次成功地處理「在一個環境中工作但不在另一個」類型的錯誤? – 2012-02-29 07:22:05

0

我面臨同樣的問題。對我來說,問題是

from django.db import connections 
cursor=connections["default"].cursor() 

在某些其他腳本文件中。

當我移動我在那裏執行查詢的方法內這條線,它解決了問題

cursor=connections["default"].cursor() 

對我來說,學習是連接不上我以前的做法保持。

相關問題