Соединение Maya 2011 с Mysqldb - PullRequest
       14

Соединение Maya 2011 с Mysqldb

0 голосов
/ 13 октября 2011

Я использую Maya 2011 (64-разрядная версия) и MySQL 5.5 (64-разрядная версия) в Windows 7 (64-разрядная версия). Я пытался соединить майя с Mysqldb через python. Поэтому я скопировал файлы коннектора в пакеты 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, заменив файлы коннекторов, но проблема остается.

Будучи новичком, я не могу точно определить проблему.
Прошу ваших ценных предложений

Ответы [ 2 ]

1 голос
/ 13 октября 2011

Вы ничего не возвращаете из функции 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 голосов
/ 13 октября 2011

Здесь у вас есть две вещи, назначенные db.Похоже, что mysql_connect("localhost", “root”, “test”, “mydbt") возвращает None, поэтому, когда вы вызываете db.cursor() позже, вы получаете эту ошибку.

Убедитесь, что вы перезаписываете переменную db правильно (в данном случае этоПохоже, что вы не).

...