2011-10-13 4 views
0

Windows 7 (64 비트) 시스템에서 Maya 2011 (64 비트) 및 MySQL 5.5 (64 비트)를 사용하고 있습니다. 나는 Python을 통해 Mysqldb와 Maya를 연결하려고 시도했다. 그래서 커넥터 파일을 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") 

dbNone된다. 변경 시도 :

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

관련 문제