您的位置:首页 > 产品设计 > UI/UE

sqlite错误处理:library routine called out of sequence

2016-07-04 23:29 369 查看
用c++调sqlite 3.2 api,概率性遇到library routine called out of sequence错误,出现错误后,数据库连接断开,后面的操作都无效。

查了官方的资料,提到4个可能的原因:

1.调用API所用到的指针,没有从sqlite3_open()或者是sqlite3_open16()获得,或者sqlite3_open()函数已经将数据库关闭了
2. 两个或者更多的线程同时访问该数据库
3. sqlite3_step()所用到的变量statement指针
4. 试图将values绑定到一个正在运行的statement上

分析了下自己的代码,发现存在多线程访问的问题,一个存储线程,一个查询线程。加锁保护后OK
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  SQLite