【发布时间】:2012-12-03 10:16:45
【问题描述】:
我有一个使用最新 sqlalchemy 的 python 脚本。 当我使用 sqlite 时,只有 sqlite,其他 db 运行良好,我收到以下错误:
sqlalchemy.exc.OperationalError: (OperationalError) database is locked u'SELECT blabla....
有什么提示吗?
我的代码示例(简化),我有几个这样的方法来选择、更新和删除东西:
class MyDb(object):
def __init__(self):
engine = create_engine("sqlite:///file", poolclass=NullPool, pool_threadlocal=True)
engine.pool_size=1
engine.pool_timeout = 60
self.sess = sessionmaker(bind=engine)
def del_stuff(self):
sess = self.sess()
sess.query(Stuff).delete()
try:
sess.commit()
except:
sess.rollback()
def set_stuff(self, id, bar):
sess = self.sess()
sess.query(Foo).get(id).bar = bar
try:
sess.commit()
except:
sess.rollback()
【问题讨论】:
-
上次我使用 sqlite,也有同样的问题,所以我改用 sql 而不是 sqlite :) 问题永远不会出现
标签: python sqlite python-2.7 sqlalchemy