SQLServer连接字符串连接池详解,Pooling=True/False区别


连接池机制
当应用程序运行的时候,会有一个连接池的管理控件运行在应用程序的进程里,统一管理应用程序和SQLSERVER建立的所有连接,并且维护这些连接一直处于活动状态。当有用户发出一个connection open指令时连接池会在自己维护的连接池中找一个处于空闲状态的连接放回自己管理的连接池里,给这个用户使用。当用户使用完毕后,发出connection close指令,连接池会把这个连接放回自己管理的连接池里,让他重新处于空闲状态,而不是真的从SQL里登出。这样如果下次有用户需要相同连接,就可以重用这个连接,而无须再去做物理连接了。
SQL数据库连接串中的pooling=true和pooling=false的区别
pooling=false就是关闭连接池的意思,默认为true,启用连接池。
连接池就是有一些与数据库的连接放在里面,建立新的连接时系统会先看里面有没有一样的连接,有就不用新建了。 最好是用连接池,默认情况下也是使用连接池的。
连接池功能编程接口
微软的SQLSERVER客户端编程接口:
1、ADO和ADO.NET 都支持连接池这种机制
2、JAVA的JDBC也支持连接池这种机制
注意:连接池机制是客户端数据库驱动程序提供的,功能都在驱动程序里,所以JDBC跟ADO,ADO.NET的连接池功能会有区别
因为客户端应用程序都是通过加载SQLSERVER的数据驱动控件做SQLSERVER连接。
目前客户端数据库驱动程序主要有3种:
1、MDAC(微软数据访问组件) SQL2000的时候开始有的
2、SQLSERVER Native Client SQL2005开始引入的
3、Microsoft JDBC Provider 使用机制与MDAC和SQLSERVER Native Client不同
连接字符串是否需要写pooling=true;connection lifetime=0;min pool size = 1;
没有必要写,连接池默认是开启的,连接的生命周期没有必要指定,因为你都不知道自己的SQL语句要运行多长时间,连接池的min pool size不需要指定了,只需要指定max pool size=32767 就可以了。
SQLSERVER的最大连接数: 32767
C# Code:
string connStr="Server=.;Database=CSFrameworkTest;User ID=sa;Password=test;pooling=true;connection lifetime=0;min pool size = 1;max pool size=32767";
//来源:C/S框架网 | www.csframework.com | QQ:23404761
//来源:C/S框架网 | www.csframework.com | QQ:23404761

扫一扫加微信


版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网