如何在python中使用sqlalchemy和sqlite增加连接超时

时间:2013-02-25 10:39:32

标签: python sqlite sqlalchemy operationalerror

我使用sqlite(v2.6.0)作为数据库后端,并使用sqlalchemy(v0.7.9)来操作它。 最近我收到了错误OperationalError: (OperationalError) database is locked

通过搜索stackoverflow,可能的解决方案是增加连接的超时。 参考:OperationalError: database is locked

但是我不知道如何在sqlalchemy中做到这一点(因为连接实际上是由它控制的) 有人能指点我吗?

1 个答案:

答案 0 :(得分:18)

SQLAlchemy的create_engine()接受一个参数connect_args,这是一个字典,将传递给底层DBAPI的connect()(参见Custom DBAPI connect() arguments)。 sqlite3.connect()接受timeout参数,因此这应该有效:

create_engine('sqlite:///some.db', connect_args={'timeout': 15})