0

我在 Windows 7(64 位)机器上使用 Maya 2011(64 位)和 MySQL 5.5(64 位)。我试图通过python将maya与Mysqldb连接起来。所以我将连接器文件复制到 maya\python\lib\site 包中。

我能够导入 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")


但是代码抛出以下错误:

错误:AttributeError:“NoneType”对象没有属性“光标”#

我尝试验证 env-path 变量,替换连接器文件,但问题仍然存在。

由于是初学者,我无法确定确切的问题。
我请求您的宝贵建议

4

2 回答 2

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")
于 2011-10-13T17:56:35.943 回答
0

在这里,您有两件事分配给db. 似乎mysql_connect("localhost", “root”, “test”, “mydbt")正在返回None,因此当您db.cursor()稍后调用时,您会收到该错误。

确保你db正确地覆盖了变量(在这种情况下,看起来你没有)。

于 2011-10-13T17:51:49.740 回答