2013-02-25 17 views
6

私はsqlalchemy(v0.7.9)を使用してデータベースバックエンドとしてsqlite(v2.6.0)を使用しています。 最近エラーが発生しましたOperationalError: (OperationalError) database is lockedPythonでsqlalchemyを使用して接続タイムアウトを増やす方法

stackoverflowを検索すると、接続のタイムアウトを増やすことができます。 Referece:OperationalError: database is locked

しかし、私がやったのか分からない(接続は実際にそれによって制御されているので)SQLAlchemyの に誰かが私に方向性を与えることができますか?

+1

FWIW、タイムアウトを増やすことだけで、このエラーはそれほど頻繁にするつもり可能性があります。再試行を実装する方がよいでしょう。 –

答えて

13

はSQLAlchemyののcreate_engine()は、基礎となるDBAPIのconnect()Custom DBAPI connect() argumentsを参照)に渡される辞書で引数connect_argsを取ります。 sqlite3.connect()timeout引数を受け入れますので、これは動作するはずです:

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

ありがとうございました。それは私が逃したものです。 – user1817188

+8

PostgreSQL 9.3の同じ問題を誰かが解決しようとしている場合、connect_args引数のスペルは異なります:connect_args = {'connect_timeout':15} –

関連する問題