首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sqlobject:尚未为此线程或进程定义连接

sqlobject:尚未为此线程或进程定义连接
EN

Stack Overflow用户
提问于 2010-06-09 04:11:45
回答 1查看 622关注 0票数 0

我在Python中使用sqlobject。我用以下命令连接到数据库

代码语言:javascript
复制
conn = connectionForURI(connStr)
conn.makeConnection()

这成功了,我可以在连接上进行查询:

代码语言:javascript
复制
g_conn = conn.getConnection()
cur = g_conn.cursor()
cur.execute(query)
res = cur.fetchall()

这可以达到预期的效果。但是,我也定义了一些类,例如:

代码语言:javascript
复制
class User(SQLObject):
    class sqlmeta:
        table = "gui_user"
    username = StringCol(length=16, alternateID=True)
    password = StringCol(length=16)
    balance = FloatCol(default=0)

当我尝试使用这个类进行查询时:

代码语言:javascript
复制
User.selectBy(username="foo")

我得到了一个异常:

代码语言:javascript
复制
...
  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来使它工作,但是如果我不这样做,我如何让它工作呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-06-09 12:33:57

执行以下操作:

代码语言:javascript
复制
from sqlobject import sqlhub, connectionForURI

sqlhub.processConnection = connectionForURI(connStr)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3000908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档