VS.NET(C#)提升-2.17_数据库接口:connection.close指令与连接池

本文介绍了应用程序通过连接池管理与SQLSERVER建立连接的工作原理。详细解释了ODBC、ADO、ADO.NET及JAVA JDBC如何利用连接池提高效率,包括连接的分配、回收机制,以及连接池的配置参数对应用的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当应用程序运行的时候,会有一个连接池的管理控件运行在应用程序的进程里,统一管理应用程序和SQLSERVER建立的所有连接,并且维护这些连接一直处于活动状态。

ODBC、ADO和ADO.NET 都支持连接池这种机制,JAVA的JDBC也支持连接池这种机制。

ODBC连接池可以在控制面板->数据库(ODBC)里看到下面的选项:


     有用户发出一个connection open指令时连接池会在自己维护的连接池中找一个处于空闲状态的连接放回自己管理的连接池里,给这个用户使用。

    当用户使用完毕后,发出connection close指令,连接池会把这个连接放回自己管理的连接池里,让他重新处于空闲状态,而不是真的从SQL里登出。连接池是放在客户端的,是客户端的机制。

多个应用程序使用同一个线程池,这些应用程序是如何区分和隔离的

    比如有两个连接:他们的属性(程序名称)有所不同,那么连接池会创建两个物理连接而不是重用同一个连接。如果两个应用程序的连接字符串里指定了最大连接数是40000,那么管理控件就会创建80000个连接,然后当应用程序发起连接的时候连接池根据应用程序名来区分该应用程序使用哪一个40000个连接。


说明1:如果 MinPoolSize 在连接字符串中未指定或指定为零,池中的连接将在一段时间不活动后关闭,

MaxPoolSize在连接字符串中末指定,默认值为 100PoolSize = false)。

指定的 MinPoolSize 大于零,在 AppDomain 被卸载并且进程结束之前,连接池不会被破坏。当出现故障转移等错误时,会自动清除池

说明2:不是显式关闭的连接可能不会添加或返回到池中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值