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

前端之家收集整理的这篇文章主要介绍了sqlite错误处理:library routine called out of sequence前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

用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相关文章