我有一个使用最新 sqlalchemy 的 python 脚本。当我使用 sqlite,只有 sqlite,其他数据库运行良好时,我收到以下错误:
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()