2011-10-13 44 views
0

我在Windows 7(64位)機器上使用Maya 2011(64位)和MySQL 5.5(64位)。我試圖通過python連接Mysqldb與瑪雅。所以我將連接器文件複製到maya \ python \ lib \ site包中。連接Maya 2011與Mysqldb

我能夠導入MYsqldb模塊沒有任何錯誤。但是當我嘗試調用遊標對象(用於查詢)時,我發現Maya不能識別遊標對象。

這裏是我的示例代碼:

import MySQLdb as mb 
import maya.cmds as cmds 

def mysql_connect(hostname, username, password, dbname): 
    db = mb.connect(host=hostname,user=username,passwd=password,db=dbname) 

db = mysql_connect("localhost", 「root」, 「test」, 「mydbt") 
dbcursor = db.cursor() 
dbcursor.execute("select * from maya") 


但代碼引發以下錯誤:

Error: AttributeError: ‘NoneType’ object has no attribute ‘cursor’ #

我試圖驗證ENV路徑變量,取代了連接器文件,但問題仍然存在。

既然是初學者,我無法識別確切的問題。
我請求你的寶貴建議

回答

0

在這裏,你有兩件事情分配給db。看起來mysql_connect("localhost", 「root」, 「test」, 「mydbt")正在返回None,所以當您稍後調用db.cursor()時,會出現該錯誤。

確保你正確覆蓋了db變量(在這種情況下,它看起來像你不是)。

+0

謝謝TorelTwiddler。我回來時犯了一個錯誤。我從avaris和你的反饋中瞭解到了這一點。謝謝 – sasecse

1

您不會從mysql_connect函數返回任何東西。所以它返回None。當你這樣做:

db = mysql_connect("localhost", 「root」, 「test」, 「mydbt") 

db變得None。嘗試改變:

db = mb.connect(host=hostname,user=username,passwd=password,db=dbname) 

return mb.connect(host=hostname,user=username,passwd=password,db=dbname) 

話雖這麼說,我不知道定義功能,使一個單一的東西是非常有用的。最好有這樣的事情:

import MySQLdb as mb 
import maya.cmds as cmds 

db = mb.connect(host="localhost",user=「root」,passwd=「test」,db=「mydbt") 

dbcursor = db.cursor() 
dbcursor.execute("select * from maya") 
+0

感謝您提出寶貴建議Avaris。作爲一名初學者,我對這一步感到震驚。最後,我能夠了解我的錯誤。再次感謝你。它的工作。 :) – sasecse