概述
文章目录
- 起因
- 基本思路
- 程序代码
- 代码如下:
- 运行结果如下图:
- 结论
- 扩展
起因
公司有一个用ASP+Access的软件,之前人少的时候用用还不错,可是最近几年用的人越来越多,经常出现假死机的情况,突然想知道一下Access同时最大连接数是多少。
基本思路
循环打开adodb.connection,不关闭,看看能创建多少个adodb.connection。最大连接数先设置5000.
程序代码
代码如下:
<%
response.buffer=true
'==========Access Connection, 2 ways===========
DB_Provide="provider=microsoft.ACE.oledb.12.0;Pooling=true;Max Pool Size=2000;Min Pool Size=0;"
DB_Provide="provider=Microsoft.Jet.OLEDB.4.0;" 'Pooling=true;Max Pool Size=2000;Min Pool Size=0;"
DB_Source="data source=" & server.mappath("..databaseorder.mdb") & ";"
DB_Login="JET OLEDB:database password=xxx"
'=============================================
'测试数据库最大同时打开数量
Max_Count=5000
redim conn(Max_Count)
for i=1 to Max_Count
set conn(i)=server.createobject("adodb.connection")
Conn_Str = DB_Provide & DB_Source & DB_Login
conn(i).open Conn_Str
if i mod 20 =1 then '插入换行符
response.write "<br>"
response.flush
end if
response.write i
response.write ","
next
for i=1 to Max_Count
conn(i).CLOSE
next
%>
运行结果如下图:
结论
根据测试的结果来看,Access最大同时打开64个链接。但是实际上,使用过程中,基本上不会出现同时有超过64个页面同时占用access连接的情况。除非有超过64个页面同时进行大数据量的读写操作。但是目前公司的网站还没有出现这个错误,速度慢应该是其他原因。
扩展
同时用SQL Server做了类似的测试,只需要将上面的连接字符串修改一下即可。
'========SQL connection string==============
DB_Provide="provider=sqloledb;"
DB_Source="data source= TO-SERVEROE_SQL_SERVER; initial catalog=TODB;persist security info=True;" 'Pooling=true;Max Pool Size=1000;Min Pool Size=0;"
DB_Login="user id=sa; password=xxx"
发现SQL Server基本没有同时打开的连接限制,5000个链接不关闭都行。。。
最后
以上就是执着小松鼠为你收集整理的实测Access最大同时连接数起因基本思路程序代码扩展的全部内容,希望文章能够帮你解决实测Access最大同时连接数起因基本思路程序代码扩展所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复