我在Python中使用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)当我尝试使用这个类进行查询时:
User.selectBy(username="foo")我得到了一个异常:
...
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如何为线程定义连接?我刚刚意识到我可以传入一个connection关键字,我可以给它一个conn来使它工作,但是如果我不这样做,我如何让它工作呢?
发布于 2010-06-09 12:33:57
执行以下操作:
from sqlobject import sqlhub, connectionForURI
sqlhub.processConnection = connectionForURI(connStr)https://stackoverflow.com/questions/3000908
复制相似问题