当前位置: 代码迷 >> 其他数据库 >> sqlite数据库安插数据出现SQLITE_ERROR[1]:SQL logic error or missing database
  详细解决方案

sqlite数据库安插数据出现SQLITE_ERROR[1]:SQL logic error or missing database

热度:8796   发布时间:2013-02-26 00:00:00.0
sqlite数据库插入数据出现SQLITE_ERROR[1]:SQL logic error or missing database
在每隔100毫秒向数据库插入数据时,有时候会出现:SQLITE_ERROR[1]:SQL logic error or missing database错误。是为什么?
------解决方案--------------------------------------------------------
确保100ms以内你的数据能完全插入进去?


------解决方案--------------------------------------------------------
你如果在循环开始之前,执行:
db.execDML("begin transaction");

循环结束之后,再执行:
db.execDML("commit")
就不会有问题了。
否则,每次执行insert,都隐含提交事务,频繁打开文件,速度会越来越慢。最后很可能就出错。


------解决方案--------------------------------------------------------
使用事务没有,提交没有?
------解决方案--------------------------------------------------------
是不是几个线程使用同一个handle在操作?搞个锁,其实即使单线程用下事务,那个性能也已经足够了。
------解决方案--------------------------------------------------------
像这种大数据的插入最好开事务。
  相关解决方案