导航

使用SQLite数据库时注意多进程并发的错误处理

Posted on 2012-12-20 09:39  codeape  阅读(4270)  评论(0编辑  收藏  举报

sqlite3.OperationalError

sqlite3.connect(database[, timeout, detect_types, isolation_level, check_same_thread, factory, cached_statements])

Opens a connection to the SQLite database file database. You can use ":memory:" to open a database connection to a database that resides in RAM instead of on disk.

When a database is accessed by multiple connections, and one of the processes modifies the database, the SQLite database is locked until that transaction is committed. The timeout parameter specifies how long the connection should wait for the lock to go away until raising an exception. The default for the timeout parameter is 5.0 (five seconds).

貌似多线程情况下,可以设置

check_same_thread 并设置串行模式,解决并发的问题  但自己没测过,只是参考别人的