0
파이썬에서 sqlobject를 사용하고 있습니다. 나는sqlobject :이 스레드 또는 프로세스에 대한 연결이 정의되어 있지 않습니다.
conn = connectionForURI(connStr)
conn.makeConnection()
이 성공으로 데이터베이스에 연결, 나는 연결에 쿼리를 수행 할 수 있습니다 의도 한대로
g_conn = conn.getConnection()
cur = g_conn.cursor()
cur.execute(query)
res = cur.fetchall()
이 작동합니다. 내가 클래스를 사용하여 쿼리를 수행 할 때
class User(SQLObject):
class sqlmeta:
table = "gui_user"
username = StringCol(length=16, alternateID=True)
password = StringCol(length=16)
balance = FloatCol(default=0)
:
...
File "c:\python25\lib\site-packages\SQLObject-0.12.4-py2.5.egg\sqlobject\main.py", line 1371, in selectBy
conn = connection or cls._connection
File "c:\python25\lib\site-packages\SQLObject-0.12.4-py2.5.egg\sqlobject\dbconnection.py", line 837, in __get__
return self.getConnection()
File "c:\python25\lib\site-packages\SQLObject-0.12.4-py2.5.egg\sqlobject\dbconnection.py", line 850, in getConnection
"No connection has been defined for this thread "
AttributeError: No connection has been defined for this thread or process
어떻게 수행
User.selectBy(username="foo")
나는 예외가 그러나 나는 또한 어떤 클래스, 예를 정의 스레드에 대한 연결을 정의 하시겠습니까? 나는 방금 connection
키워드를 전달할 수 있음을 깨달았습니다. conn
을 작동하게 만들 수는 있지만, 그렇게하지 않으면 어떻게 작동합니까?