将Maya 2011与Mysqldb连接

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

我在一台运行Windows 7(64位)的电脑上使用Maya 2011(64位)和MySQL 5.5(64位)。我尝试通过Python把Maya和MySQL数据库连接起来。所以我把连接器的文件复制到了maya\python\lib\site-packages文件夹里。

我能够顺利导入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’对象没有属性‘cursor’ #

我尝试检查环境变量,替换连接器文件,但问题依然存在。

作为一个初学者,我无法确定具体的问题所在。
我希望能得到大家的宝贵建议。

2 个回答

0

这里,你把两个东西都赋值给了 db。看起来 mysql_connect("localhost", “root”, “test”, “mydbt") 返回的是 None,所以当你后面调用 db.cursor() 时,就会出现错误。

确保你正确地覆盖了 db 这个变量(在这个例子中,看起来你没有做到这一点)。

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")

撰写回答