频繁更新sqlite3数据库导致数据库被锁定的问题!

qfpcn 2008-12-23 09:17:04
我是在linux下用c写的程序,用root用户执行。
我的程序中每1秒左右就需要向sqlite数据库中插入1条记录,每次大概插入1000条左右就会导致数据库被锁定"database is locked",请问达人如何解决?

注:问题解决了另外给分!
...全文
2830 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
skyjsq 2010-06-07
  • 打赏
  • 举报
回复
一个时间只能有一个query 操作数据库的,多线程的时候要特别注意
iihero 2010-06-07
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 reer 的回复:]

由检查conn.Close()的返回值想到一个问题:
如果sqlite3_finalize()返回SQLITE_BUSY,那这时sqlite3 *p_stmt资源释放了吗?
[/Quote]
如果返回的是busy,肯定有资源没有被释放。
robotdeng 2010-05-13
  • 打赏
  • 举报
回复
单线程不会有锁定的问题。。。

肯定你是采用了多线程,每个线程打开一个connection。如果后一个线程访问时,前一个线程正在执行插入操作,所以就有问题了。
reer 2010-05-13
  • 打赏
  • 举报
回复
由检查conn.Close()的返回值想到一个问题:
如果sqlite3_finalize()返回SQLITE_BUSY,那这时sqlite3 *p_stmt资源释放了吗?
zzmwmh 2010-05-06
  • 打赏
  • 举报
回复
conn不关应该没事吧,不过不要重复的open应该没事吧,开阿关阿更浪费资源,1秒写一次应该不会有问题的
iihero 2010-05-06
  • 打赏
  • 举报
回复
[Quote=引用楼主 qfpcn 的回复:]
我是在linux下用c写的程序,用root用户执行。
我的程序中每1秒左右就需要向sqlite数据库中插入1条记录,每次大概插入1000条左右就会导致数据库被锁定"database is locked",请问达人如何解决?

注:问题解决了另外给分!
[/Quote]
1秒钟写1条,应该问题不大。
关键是你这个应用是多线程并发的吗?那就要注意了。
最好是单线程程序。
fuhanw 2010-04-20
  • 打赏
  • 举报
回复
仔细检查 conn.Close(); !
100%解决问题!
subarashii 2009-05-05
  • 打赏
  • 举报
回复
好像会遇到一些大量的频繁的写数据时,数据库会有问题。
你试试没操作一次都把下面这些东西关闭
stmt.close();
rset.close();
conn.close();
greenkiller 2009-01-13
  • 打赏
  • 举报
回复
我也正在用SQLite做点东西
受教
除了“使用事务方式将一分钟内的记录一起插入”方式,还有其他方法么?
shuifengcun 2009-01-02
  • 打赏
  • 举报
回复
没错
iisbsd 2009-01-02
  • 打赏
  • 举报
回复
如果有代码的话比较好。
ultraedit55 2008-12-31
  • 打赏
  • 举报
回复
ding
cdqy 2008-12-30
  • 打赏
  • 举报
回复
这么频繁的插入,最好是每一分钟,使用事务方式将一分钟内的记录一起插入.
cdqy 2008-12-30
  • 打赏
  • 举报
回复
sqlite3_busy_timeout( db, 200 ); //设置数据库超时等待时间200MS
内容概要:本文提出一种基于鱼鹰优化算法(OOA)优化的CNN-BiGUR-Attention混合模型,用于提升短期风电功率预测的精度与稳定性,采用Matlab实现代码仿真。该模型融合卷积神经网络(CNN)提取输入数据的局部空间特征,利用双向门控循环单元(BiGUR)捕捉风速、功率等时间序列的前后向动态依赖关系,并引入注意力机制自适应强化关键时间步的特征权重,从而增强模型对非平稳风电数据的表征能力;进一步,采用OOA算法对模型超参数进行全局寻优,有效提升模型收敛速度与泛化性能。研究基于实际风电场历史数据开展实验验证,结果表明,该方法相较传统模型在预测精度、鲁棒性和误差抑制方面表现更优,适用于高比例可再生能源接入背景下的电力系统调度需求。; 适合人群:从事新能源发电预测、电力系统优化调度、智能算法与深度学习融合应用等方向的科研人员及工程技术人员,尤其适合具备Matlab编程能力、熟悉时间序列建模与深度学习框架的研究者。; 使用场景及目标:①实现风电场短期功率高精度预测,支撑电网安全稳定调度与能量管理;②为深度学习模型结构设计与智能优化算法联合调参提供实践范例;③推动人工智能技术在可再生能源预测、智能电网运行等领域的落地应用。; 阅读建议:建议结合提供的Matlab代码深入理解CNN-BiGUR-Attention网络架构搭建、注意力机制实现方式及OOA优化流程,重点关注数据预处理、模型训练与参数调优细节,可通过替换不同风电数据集进行对比实验,进一步掌握模型迁移能力与适应性。

2,209

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧