Office中国论坛/Access中国论坛

标题: 请教:ADO连接ACC,一个连接中可以并发打开/执行多少个recordset/command? [打印本页]

作者: 风中漫步    时间: 2016-12-7 14:43
标题: 请教:ADO连接ACC,一个连接中可以并发打开/执行多少个recordset/command?
谢谢
作者: tmtony    时间: 2016-12-7 14:49
可以的。
作者: 风中漫步    时间: 2016-12-7 15:33
tmtony 发表于 2016-12-7 14:49
可以的。

谢谢站长。
还有吗?
作者: Benjamin_luk    时间: 2016-12-7 16:29
RECORDET应该是没有限制
我一般使用原则是,处理完一个关一个。
打开多个,只会占用内存。

Commmand没试过。
作者: roych    时间: 2016-12-7 17:35
command只能一次处理一个sql命令。
单线程的recordset从理论上是可以多个并发,但是多个线程时可能有问题(印象中VB是不支持多线程的,或者说多线程不太稳定)。
如果多个用户调用同一个connection,使用同一个记录集,大概是有问题的(除非是只读)。
在这种情况下,应该使用事务和锁来解决(不过这个属于sql server或者其他数据库的范畴了,Access是没有这些的)。
作者: ganlinlao    时间: 2016-12-7 17:44
本帖最后由 ganlinlao 于 2016-12-7 17:45 编辑

Roych说的,其实是不准确的。你可以看一下我很早的贴子,Access的黄金4K,你就能明白一个ldb最多能支持多少个并发。
作者: tmtony    时间: 2016-12-7 23:38
冬瓜的原文章在这里:
http://www.office-cn.net/thread-117621-1-1.html
作者: 风中漫步    时间: 2016-12-8 14:44
Benjamin_luk 发表于 2016-12-7 16:29
RECORDET应该是没有限制
我一般使用原则是,处理完一个关一个。
打开多个,只会占用内存。

谢谢大神指点
作者: 风中漫步    时间: 2016-12-8 14:45
roych 发表于 2016-12-7 17:35
command只能一次处理一个sql命令。
单线程的recordset从理论上是可以多个并发,但是多个线程时可能有问题 ...

谢谢斑竹指导
作者: 风中漫步    时间: 2016-12-8 14:46
ganlinlao 发表于 2016-12-7 17:44
Roych说的,其实是不准确的。你可以看一下我很早的贴子,Access的黄金4K,你就能明白一个ldb最多能支持多少 ...

大神原来早有研究啊,辛苦了
作者: 风中漫步    时间: 2016-12-8 14:47
tmtony 发表于 2016-12-7 23:38
冬瓜的原文章在这里:
http://www.office-cn.net/thread-117621-1-1.html

谢谢站长的给的连接
作者: Benjamin_luk    时间: 2016-12-9 00:03
本帖最后由 Benjamin_luk 于 2016-12-16 21:45 编辑

recordset 最多同时直接连接204个
如果是连接是同一个对象,只是查询或非更新使用
可以使用 Clone 的方法,轻轻松松就可以突破204了



[attach]60486[/attach]





欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3