我是靠谱客的博主 执着小松鼠,最近开发中收集的这篇文章主要介绍实测Access最大同时连接数起因基本思路程序代码扩展,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 起因
  • 基本思路
  • 程序代码
    • 代码如下:
    • 运行结果如下图:
    • 结论
  • 扩展

起因

公司有一个用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最大同时连接数

结论

根据测试的结果来看,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个链接不关闭都行。。。
SQL最大同时连接5000

最后

以上就是执着小松鼠为你收集整理的实测Access最大同时连接数起因基本思路程序代码扩展的全部内容,希望文章能够帮你解决实测Access最大同时连接数起因基本思路程序代码扩展所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部