精易论坛
标题:
sqlite3.30.1 数据库模块+支持库(彻底解决多线程死锁问题)
[打印本页]
作者:
酷宝贝
时间:
2019-12-3 14:30
标题:
sqlite3.30.1 数据库模块+支持库(彻底解决多线程死锁问题)
本次更新对于支持库来说,接口改动不大,模块版的话是尽量和支持库接口保持一致,所以对于以前的模块接口可能改动就大了。
要解决多线程问题,主要是对sqlite3的锁机制进行了解,和事务有密切的关系。本次更新的版本在开始事务时,增加了一个 事务锁状态 的参数。
拿简单的话来描述就是 开始事务 时如果
设置了
事务锁状态_ 立即
参数,那么这个时候其他线程的连接就不能写操作了,但是可以读操作,但是在提交事务时也要等待所有读操作完成了才能提交。
设置了
事务锁状态_ 独占
参数,那么这个时候其他线程的连接读写都不可以了。
在等待的时候就处于繁忙状态,我们可以设置
数据库.繁忙超时
()来设置等待时间。
还有种情况还是会
死锁
,就是记录集没有关闭,而且这次更新的支持库和模块都是必须
手动关闭记录集
的,所以一定注意。
当然多进程和多线程是一个道理,具体操作看例子。
esqlite3 V1.1 相对于1.0的更新
1、增加了全局命令:
S3互斥体进入
S3互斥体退出
S3聚合上下文
S3取数据库自上下文
2、增加了zySqlite数据库 命令
繁忙超时
繁忙处理
取文件名
是否只读
取互斥体
是否自动提交
进度处理
取下一记录集
取总影响行
3、增加了 zySqlite记录集 命令
是否繁忙
是否只读
取数据库句柄
取行数
4、数据库.开始事务() 增加了 事务锁状态 参数,此参数在多线程中非常重要。
5、记录集必须手动关闭,任何内部方法都不再自动关闭。
sqlite3.30.1.rar
(1.7 MB, 下载次数: 6888)
2019-12-3 14:30 上传
点击文件名下载附件
下载积分: 精币 -2 枚
补充内容 (2019-12-27 00:33):
码云: https://gitee.com/kyozy/esqlite31
作者:
万里晴空
时间:
2019-12-3 14:35
沙发支持
作者:
阿蒙
时间:
2019-12-3 14:36
支持一下
作者:
applepear
时间:
2019-12-3 14:40
谢谢 ~~~~~~~~~
作者:
mood100
时间:
2019-12-3 14:48
收藏了,感谢分享
作者:
舞影无踪
时间:
2019-12-3 14:57
先点收藏后研究
作者:
疯狂的猿猴
时间:
2019-12-3 15:11
这个必须收藏
作者:
wjswzj0
时间:
2019-12-3 15:39
感谢分享,很给力!~
作者:
情雅
时间:
2019-12-3 16:49
感谢分享,很给力!~
作者:
leiwawa001
时间:
2019-12-3 17:05
谢谢分享。,
作者:
不苦小和尚
时间:
2019-12-3 17:34
现在中间件也挺好用的
作者:
wjc826194
时间:
2019-12-3 18:48
如果开始事务后 程序挂了 会不会直接锁死数据库?
作者:
bbs592
时间:
2019-12-3 20:33
哎呀,可惜不是mysql的,路过支持一下
作者:
Aurora
时间:
2019-12-4 06:13
这个版本VS2010可以静态编译了,多谢分享666666
作者:
qgchqgch89
时间:
2019-12-4 07:17
这个可以单用模块和支持库?
作者:
kyo9766
时间:
2019-12-4 08:04
已经使用了很长时间了,看看更新版,感谢大佬分享
作者:
Aurora
时间:
2019-12-4 10:22
本帖最后由 Aurora 于 2019-12-4 10:36 编辑
.版本 2
.支持库 esqlite3
S3配置 (#SQLITE_配置_串行化)
状态码 = 初始化S3 ()
.如果 (状态码 ≠ #SQLITE_成功)
无锁日志.写日志 (6, 取程序名称 (1) + “ > 初始化S3失败:” + 状态码转文本 (状态码), 真)
返回 (假)
.否则
无锁日志.写日志 (6, 取程序名称 (1) + “ > 初始化S3成功:” + 状态码转文本 (状态码), 真)
.如果结束
File_DB_Public = 取运行目录 () + “\Data\WebSite1.db”
Bool = SQL_DB_Public.打开 (“D:\Code\HTTPServer\Data\WebSite1.db”, #SQLITE_打开_读写, 真)
数据库不存在,创建不了数据库:unable to open database file
搞定了,这样才行
.版本 2
打开选项 = 位或 (#SQLITE_打开_创建, #SQLITE_打开_读写)
Bool = SQL_DB_Public.打开 (编码_gb2312到utf8 (“D:\Code\HTTPServer\Data\WebSite1.db”), 打开选项, 真)
作者:
blueshine1618
时间:
2019-12-4 10:56
不错正好需要 谢谢分享
作者:
噢噢
时间:
2019-12-4 13:26
支持开源~!感谢分享
作者:
mpsyys
时间:
2019-12-4 13:53
感谢分享,很给力!~
作者:
heyyyy
时间:
2019-12-4 18:14
感谢分享,很给力!~
作者:
wang171838
时间:
2019-12-4 20:56
取表内容() 数据行数是对的,但获取回来的内容少了一条,是把列表头也就是字段名当成一条数据了
作者:
散淡
时间:
2019-12-4 23:29
学习一下,谢谢分享
作者:
xxhaishixx
时间:
2019-12-5 01:07
这个里面不带zipvfs,但是我有zipvfs的模块,相对数据库比较安全。
作者:
拿红颜乱浮生
时间:
2019-12-5 01:55
感谢开源,感谢感谢..
作者:
tgsdhm
时间:
2019-12-5 05:44
支持一下谢谢分享
作者:
sostemp
时间:
2019-12-5 08:47
感谢分享,很给力!~
作者:
wanz01
时间:
2019-12-5 14:32
感谢分享!!!
作者:
sampo
时间:
2019-12-5 16:13
感谢楼主分享
作者:
1689478353
时间:
2019-12-5 16:18
学习下
作者:
dzb123
时间:
2019-12-5 17:04
感谢楼主分享
作者:
bdancerlc
时间:
2019-12-5 17:26
和之前的版本比有什么优势吗?一直用之前的版本的串行模式,这个版本是否比串行模式效率高?
作者:
765487363
时间:
2019-12-6 03:57
高阁客竟去,小园花乱飞。
参差连曲陌,迢递送斜晖。
肠断未忍扫,眼穿仍欲归。
芳心向春尽,所得是沾衣。
作者:
oin
时间:
2019-12-6 07:59
感谢楼主分享,支持一下!
作者:
a287400871
时间:
2019-12-6 20:22
qlite3.30.1 数据库模块
作者:
心智帅哥
时间:
2019-12-6 21:00
支持开源,感谢分享~!
作者:
wxl1231213
时间:
2019-12-6 21:05
K大的必须要顶了
作者:
sktyou
时间:
2019-12-7 10:40
支持库版本的需要sqlite3.dll跟着软件走不
作者:
锦诚
时间:
2019-12-7 17:48
感谢分享
作者:
289062596
时间:
2019-12-7 20:48
学习学习学习学习学习学习学习学习
作者:
xtavoxing
时间:
2019-12-7 20:56
请问一下.模块要和支持一起使用吗?
作者:
twttak
时间:
2019-12-7 23:01
用许可证不可以吗?为什么要这么麻烦,有没人解释一下
作者:
铁血勇士
时间:
2019-12-8 01:30
谢谢 分享 楼主牛B 学习一下
作者:
15645903131
时间:
2019-12-8 06:22
这个必须给赞
作者:
飞鱼软件
时间:
2019-12-8 13:19
感谢分享,很给力!~
作者:
詘雲
时间:
2019-12-8 16:03
感谢楼主分享!!
作者:
心智帅哥
时间:
2019-12-8 21:39
支持开源,感谢分享~!
作者:
想学易语言
时间:
2019-12-8 22:10
谢谢分享了。
作者:
kekexili
时间:
2019-12-9 00:46
共同努力,共同进步
作者:
ylilike
时间:
2019-12-9 10:49
感谢分享,用了很久,非常好
作者:
smk718
时间:
2019-12-9 14:57
感谢发布原创作品,精易因你更精彩!
作者:
hanliguo115
时间:
2019-12-9 20:23
支持开源~!感谢分享
作者:
心智帅哥
时间:
2019-12-9 20:57
支持开源,感谢分享~!
作者:
batcd
时间:
2019-12-9 23:26
这个是大神,我认识
作者:
starhacker
时间:
2019-12-10 11:17
大神的这个我收了 非常感谢
作者:
q951681306
时间:
2019-12-10 11:41
支持开源~!感谢分享
作者:
辛文玮
时间:
2019-12-10 12:28
支持开源,感谢分享 !
作者:
飞鱼软件
时间:
2019-12-10 15:31
支持开源~!感谢分享
作者:
黑色№
时间:
2019-12-10 22:52
支持了,下载来看看
作者:
咱得有自己独特
时间:
2019-12-10 23:13
支持大佬!!
作者:
飞琉k
时间:
2019-12-11 11:45
支持群主
作者:
街边太多人与车
时间:
2019-12-11 11:48
不错不错
作者:
jksuan
时间:
2019-12-11 14:03
支持大佬!!
作者:
心智帅哥
时间:
2019-12-11 21:32
支持开源,感谢分享~!
作者:
2442295093
时间:
2019-12-12 13:39
感谢分享,用了很久,非常好
作者:
心智帅哥
时间:
2019-12-12 21:56
支持开源,感谢分享~!
作者:
Metq
时间:
2019-12-12 23:09
顶,非常不错,如果能像以前一样调用就更完美了,小白比较多
作者:
Metq
时间:
2019-12-12 23:21
感觉k大对易语言的付出
作者:
sunzixian001
时间:
2019-12-14 00:29
感谢分享,很给力!~
作者:
心智帅哥
时间:
2019-12-15 21:51
支持开源,感谢分享~!
作者:
LLJ
时间:
2019-12-16 06:44
支持开源~!感谢分享
作者:
心智帅哥
时间:
2019-12-16 23:10
支持开源,感谢分享~!
作者:
dzb123
时间:
2019-12-17 09:19
感谢分享!!!!!
作者:
shanren
时间:
2019-12-17 14:45
顶,非常不错,如果
作者:
pengkai
时间:
2019-12-17 17:03
优秀啊··········
作者:
心智帅哥
时间:
2019-12-17 22:16
支持开源,感谢分享~!
作者:
晓崔同学
时间:
2019-12-19 05:22
非常好的源码
作者:
星痕彡
时间:
2019-12-19 19:23
支持开源,感谢分享~!
作者:
eyk2c4
时间:
2019-12-20 00:32
增加了 事务锁状态 参数,此参数在多线程中非常重要。
作者:
fuzhen11
时间:
2019-12-21 16:48
谢谢 我去试试
作者:
frh35860
时间:
2019-12-21 21:44
大神,GUID类型的xx该怎么读取?读字节集类型都是返回0长度
作者:
MrDeng
时间:
2019-12-23 03:51
感谢分享!!!!!
作者:
heyyyy
时间:
2019-12-23 13:56
支持开源~!感谢分享
作者:
22718589
时间:
2019-12-24 20:33
支持开源~!感谢分享
作者:
heiyikeji
时间:
2019-12-24 20:41
感谢分享
作者:
nevergiveup520
时间:
2019-12-28 18:36
支持!!!!!!!!!!
作者:
liuhuijie
时间:
2019-12-30 08:30
感谢分享!!!!!!!!!
作者:
dashang
时间:
2019-12-30 16:05
支持开源~!感谢分享
作者:
流氓丶R
时间:
2020-1-2 01:29
支持下,挺好用的!
作者:
倾风听雨声
时间:
2020-1-4 00:29
支持开源~!感谢分享
作者:
pandiolo
时间:
2020-1-5 03:55
感谢分享,用了很久,非常好
作者:
xy1002
时间:
2020-1-5 14:07
支持开源~!感谢分享
作者:
小灰太狼
时间:
2020-1-6 23:09
感谢楼主.
正需要最新版的.谢谢
作者:
DCZ
时间:
2020-1-7 21:30
在开源中学习,谢谢分享
作者:
江洪滨
时间:
2020-1-8 12:44
感谢分享,用了很久,非常好
作者:
lonely123cry
时间:
2020-1-10 10:58
非常感谢大佬!
作者:
湖平秋月
时间:
2020-1-10 13:31
sqlite支持数据库密码的吗?
作者:
xiguasang
时间:
2020-1-10 14:06
非常感谢楼主的无私奉献
作者:
精益小波
时间:
2020-1-10 15:57
支持支持!
作者:
湖平秋月
时间:
2020-1-10 16:11
您好!我用80w数据的数据库查询,发现您这个版本查询所要的时间比官方的那个支持库要慢几秒,不知道是不是数据库加密的原因,希望优化。
欢迎光临 精易论坛 (https://125.confly.eu.org/)
Powered by Discuz! X3.4